[libcxx-commits] [PATCH] D103764: [libc++][nfc] Test std::unique_ptr self move assignment.

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Wed Jun 9 11:43:23 PDT 2021


This revision was automatically updated to reflect the committed changes.
Closed by commit rGe7c621a60788: [libc++][nfc] Test std::unique_ptr self move assignment. (authored by Mordante).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103764/new/

https://reviews.llvm.org/D103764

Files:
  libcxx/docs/Cxx2bStatus.rst
  libcxx/docs/Cxx2bStatusIssuesStatus.csv
  libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move.pass.cpp


Index: libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move.pass.cpp
===================================================================
--- libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move.pass.cpp
+++ 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
+
 // <memory>
 
 // unique_ptr
@@ -72,6 +75,14 @@
     assert(d2.state() == 5);
   }
   assert(A::count == 0);
+  {
+    std::unique_ptr<VT> s(newValue<VT>(expect_alive));
+    A* p = s.get();
+    s = std::move(s);
+    assert(A::count == expect_alive);
+    assert(s.get() == p);
+  }
+  assert(A::count == 0);
 }
 
 template <bool IsArray>
Index: libcxx/docs/Cxx2bStatusIssuesStatus.csv
===================================================================
--- libcxx/docs/Cxx2bStatusIssuesStatus.csv
+++ libcxx/docs/Cxx2bStatusIssuesStatus.csv
@@ -36,7 +36,7 @@
 "`3448 <https://wg21.link/LWG3448>`__","``transform_view``'s sentinel<false> not comparable with ``iterator<true>``","November 2020","",""
 "`3449 <https://wg21.link/LWG3449>`__","take_view and take_while_view's ``sentinel<false>`` not comparable with their const iterator","November 2020","",""
 "`3453 <https://wg21.link/LWG3453>`__","Generic code cannot call ``ranges::advance(i, s)``","November 2020","",""
-"`3455 <https://wg21.link/LWG3455>`__","Incorrect Postconditions on ``unique_ptr`` move assignment","November 2020","",""
+"`3455 <https://wg21.link/LWG3455>`__","Incorrect Postconditions on ``unique_ptr`` move assignment","November 2020","|Nothing To Do|",""
 "`3460 <https://wg21.link/LWG3460>`__","Unimplementable ``noop_coroutine_handle`` guarantees","November 2020","",""
 "`3461 <https://wg21.link/LWG3461>`__","``convertible_to``'s description mishandles cv-qualified void","November 2020","",""
 "`3465 <https://wg21.link/LWG3465>`__","compare_partial_order_fallback requires ``F < E``","November 2020","",""
Index: libcxx/docs/Cxx2bStatus.rst
===================================================================
--- libcxx/docs/Cxx2bStatus.rst
+++ libcxx/docs/Cxx2bStatus.rst
@@ -47,4 +47,4 @@
    :header-rows: 1
    :widths: auto
 
-Last Updated: 01-Mar-2021
+Last Updated: 6-June-2021


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D103764.350965.patch
Type: text/x-patch
Size: 2378 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20210609/237ba656/attachment-0001.bin>


More information about the libcxx-commits mailing list