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>
Paths
| Differential D135548
[libc++][LWG 2996] Implement c++20 shared_ptr rvalue overloads. ClosedPublic Authored by pateldeev on Oct 9 2022, 5:32 PM.
Details
Summary Implement c++20 shared_ptr rvalue overloads for aliasing constructor and pointer casts. See https://cplusplus.github.io/LWG/issue2996 Commit from
Diff Detail
Event TimelineComment Actions Thanks for working on this. In general looks quite good, but some code uses an older style we don't use for new code.
This revision now requires changes to proceed.Oct 12 2022, 11:31 AM Mordante added inline comments.
Comment Actions Please mention the LWG issue you are implementing in the title. Other than that and inline comments this LGTM. Leaving final approval to @Mordante, since he had comments.
pateldeev retitled this revision from [libc++] Implement c++20 shared_ptr rvalue overloads. to [libc++][LWG 2996] Implement c++20 shared_ptr rvalue overloads..Jan 14 2023, 4:52 PM pateldeev marked an inline comment as done. pateldeev marked an inline comment as done. This revision is now accepted and ready to land.Jan 14 2023, 5:20 PM This revision now requires review to proceed.Jan 14 2023, 5:20 PM Comment Actions Thanks for the change, LGTM modulo comments and green CI (please rebase first). Thanks!
This revision is now accepted and ready to land.Feb 9 2023, 8:37 AM Comment Actions Rebased diff and addressed all comments. Should be ready to merge. But it seems I don't have the ability to do this. @ldionne: Can you help merge this? Comment Actions
Could you rebased this again and upload it to test the CI. Comment Actions
Done
Added to bottom of diff description Comment Actions
Thanks I can now pick it without conflicts. I noticed the attribution is "pateldeev <pateldeev@nevada.unr.edu>" Can you provide they name you want me to attribute this patch too or confirm "pateldeev" is intended? Comment Actions
That attribution works. No need to update. Thanks Comment Actions
Thanks, I'll land it on your behalf. Closed by commit rG347f45ed2b6d: [libc++][LWG 2996] Implement c++20 shared_ptr rvalue overloads. (authored by pateldeev, committed by Mordante). · Explain WhyJul 18 2023, 11:04 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 466429 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
|