[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