diff --git a/libcxx/docs/Cxx2bStatus.rst b/libcxx/docs/Cxx2bStatus.rst --- a/libcxx/docs/Cxx2bStatus.rst +++ b/libcxx/docs/Cxx2bStatus.rst @@ -47,4 +47,4 @@ :header-rows: 1 :widths: auto -Last Updated: 01-Mar-2021 +Last Updated: 6-June-2021 diff --git a/libcxx/docs/Cxx2bStatusIssuesStatus.csv b/libcxx/docs/Cxx2bStatusIssuesStatus.csv --- a/libcxx/docs/Cxx2bStatusIssuesStatus.csv +++ b/libcxx/docs/Cxx2bStatusIssuesStatus.csv @@ -36,7 +36,7 @@ "`3448 `__","``transform_view``'s sentinel not comparable with ``iterator``","November 2020","","" "`3449 `__","take_view and take_while_view's ``sentinel`` not comparable with their const iterator","November 2020","","" "`3453 `__","Generic code cannot call ``ranges::advance(i, s)``","November 2020","","" -"`3455 `__","Incorrect Postconditions on ``unique_ptr`` move assignment","November 2020","","" +"`3455 `__","Incorrect Postconditions on ``unique_ptr`` move assignment","November 2020","|Nothing To Do|","" "`3460 `__","Unimplementable ``noop_coroutine_handle`` guarantees","November 2020","","" "`3461 `__","``convertible_to``'s description mishandles cv-qualified void","November 2020","","" "`3465 `__","compare_partial_order_fallback requires ``F < E``","November 2020","","" diff --git a/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move.pass.cpp b/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move.pass.cpp --- a/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move.pass.cpp +++ b/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move.pass.cpp @@ -8,6 +8,9 @@ // UNSUPPORTED: c++03 +// Self assignement post-conditions are tested. +// ADDITIONAL_COMPILE_FLAGS: -Wno-self-move + // // unique_ptr @@ -72,6 +75,14 @@ assert(d2.state() == 5); } assert(A::count == 0); + { + std::unique_ptr s(newValue(expect_alive)); + A* p = s.get(); + s = std::move(s); + assert(A::count == expect_alive); + assert(s.get() == p); + } + assert(A::count == 0); } template