[libcxx-commits] [libcxx] 21e6f16 - [libc++] Mark N4089 as complete

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Sat Dec 21 18:43:37 PST 2024


Author: Nikolas Klauser
Date: 2024-12-22T03:43:27+01:00
New Revision: 21e6f16517b9b9255729665806f5c0b395854146

URL: https://github.com/llvm/llvm-project/commit/21e6f16517b9b9255729665806f5c0b395854146
DIFF: https://github.com/llvm/llvm-project/commit/21e6f16517b9b9255729665806f5c0b395854146.diff

LOG: [libc++] Mark N4089 as complete

The paper has been implemented since at least LLVM 5, maybe earlier.

Added: 
    

Modified: 
    libcxx/docs/Status/Cxx17Papers.csv
    libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp

Removed: 
    


################################################################################
diff  --git a/libcxx/docs/Status/Cxx17Papers.csv b/libcxx/docs/Status/Cxx17Papers.csv
index 432e6cd19d29cf..ac51b4a84697a4 100644
--- a/libcxx/docs/Status/Cxx17Papers.csv
+++ b/libcxx/docs/Status/Cxx17Papers.csv
@@ -1,6 +1,6 @@
 "Paper #","Paper Name","Meeting","Status","First released version","Notes"
 "`N3911 <https://wg21.link/N3911>`__","TransformationTrait Alias ``void_t``\ .","2014-11 (Urbana)","|Complete|","3.6",""
-"`N4089 <https://wg21.link/N4089>`__","Safe conversions in ``unique_ptr<T[]>``\ .","2014-11 (Urbana)","|In Progress|","3.9",""
+"`N4089 <https://wg21.link/N4089>`__","Safe conversions in ``unique_ptr<T[]>``\ .","2014-11 (Urbana)","|Complete|","5",""
 "`N4169 <https://wg21.link/N4169>`__","A proposal to add invoke function template","2014-11 (Urbana)","|Complete|","3.7",""
 "`N4190 <https://wg21.link/N4190>`__","Removing auto_ptr, random_shuffle(), And Old <functional> Stuff.","2014-11 (Urbana)","|Complete|","15",""
 "`N4258 <https://wg21.link/N4258>`__","Cleaning-up noexcept in the Library.","2014-11 (Urbana)","|In Progress|","3.7",""

diff  --git a/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp b/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp
index fbedba96a6ab38..7a86dd365cf954 100644
--- a/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp
+++ b/libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp
@@ -103,6 +103,12 @@ void test_sfinae() {
     using UA2 = std::unique_ptr<A[], const DAC&>;
     static_assert(!std::is_assignable<UA1, UA2&&>::value, "");
   }
+  { // cannot move-convert with reference deleters with 
diff erent qualifiers
+    using UA1 = std::unique_ptr<A[], DA&>;
+    using UA2 = std::unique_ptr<A[], const DA&>;
+    static_assert(!std::is_assignable<UA1, UA2&&>::value, "");
+    static_assert(!std::is_assignable<UA2, UA1&&>::value, "");
+  }
   { // cannot move-convert from unique_ptr<Single>
     using UA1 = std::unique_ptr<A[]>;
     using UA2 = std::unique_ptr<A>;


        


More information about the libcxx-commits mailing list