[libc++][LWG 2996] Implement c++20 shared_ptr rvalue overloads.
authorpateldeev <pateldeev@nevada.unr.edu>
Tue, 18 Jul 2023 15:48:53 +0000 (17:48 +0200)
committerMark de Wever <koraq@xs4all.nl>
Tue, 18 Jul 2023 18:04:21 +0000 (20:04 +0200)
commit347f45ed2b6d951a19fdef99c468f4f8f7f0b979
treede231ac6e5a2c867f889ac5c40bbc2e08cde3051
parentef70fe4d264d20abdd8476605650479a96a62071
[libc++][LWG 2996] Implement c++20 shared_ptr rvalue overloads.

Implement c++20 `shared_ptr` rvalue overloads for aliasing constructor and pointer casts. See https://cplusplus.github.io/LWG/issue2996

Commit from
"patedeev" <dkp10000@gmail.com>

Reviewed By: philnik, #libc, ldionne, pateldeev

Differential Revision: https://reviews.llvm.org/D135548
libcxx/docs/Status/Cxx20Issues.csv
libcxx/include/__memory/shared_ptr.h
libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/const_pointer_cast.pass.cpp
libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/dynamic_pointer_cast.pass.cpp
libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/reinterpret_pointer_cast.pass.cpp
libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/static_pointer_cast.pass.cpp
libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_pointer.pass.cpp