[libcxx-commits] [libcxx] [libc++] Mark LWG3454 as resolved (PR #207487)

via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jul 3 22:48:25 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-libcxx

Author: Connector Switch (c8ef)

<details>
<summary>Changes</summary>

Closes https://github.com/llvm/llvm-project/issues/171307.

LWG3454 has been implemented in https://github.com/llvm/llvm-project/commit/98d3d5b5da66e3cf7807c23a0294280bb796466b.

---
Full diff: https://github.com/llvm/llvm-project/pull/207487.diff


2 Files Affected:

- (modified) libcxx/docs/Status/Cxx26Issues.csv (+1-1) 
- (modified) libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp (+7-3) 


``````````diff
diff --git a/libcxx/docs/Status/Cxx26Issues.csv b/libcxx/docs/Status/Cxx26Issues.csv
index 3f2a446f7e1f3..30042d4465d93 100644
--- a/libcxx/docs/Status/Cxx26Issues.csv
+++ b/libcxx/docs/Status/Cxx26Issues.csv
@@ -149,7 +149,7 @@
 "`LWG2991 <https://wg21.link/LWG2991>`__","``variant copy`` constructor missing ``noexcept(see below)``","2025-11 (Kona)","","","`#171301 <https://github.com/llvm/llvm-project/issues/171301>`__",""
 "`LWG3090 <https://wg21.link/LWG3090>`__","What is ยง[time.duration.cons]p4's ""no overflow is induced in the conversion"" intended to mean?","2025-11 (Kona)","","","`#171302 <https://github.com/llvm/llvm-project/issues/171302>`__",""
 "`LWG3343 <https://wg21.link/LWG3343>`__","Ordering of calls to ``unlock()`` and ``notify_all()`` in Effects element of ``notify_all_at_thread_exit()`` should be reversed","2025-11 (Kona)","|Complete|","16","`#105356 <https://github.com/llvm/llvm-project/issues/105356>`__",""
-"`LWG3454 <https://wg21.link/LWG3454>`__","``pointer_traits::pointer_to`` should be ``constexpr``","2025-11 (Kona)","","","`#171307 <https://github.com/llvm/llvm-project/issues/171307>`__",""
+"`LWG3454 <https://wg21.link/LWG3454>`__","``pointer_traits::pointer_to`` should be ``constexpr``","2025-11 (Kona)","|Complete|","16","`#171307 <https://github.com/llvm/llvm-project/issues/171307>`__",""
 "`LWG3627 <https://wg21.link/LWG3627>`__","Inconsistent specifications for ``std::make_optional`` overloads","2025-11 (Kona)","|Complete|","22","`#171309 <https://github.com/llvm/llvm-project/issues/171309>`__",""
 "`LWG4015 <https://wg21.link/LWG4015>`__","LWG 3973 broke const overloads of ``std::optional`` monadic operations","2025-11 (Kona)","","","`#171310 <https://github.com/llvm/llvm-project/issues/171310>`__",""
 "`LWG4020 <https://wg21.link/LWG4020>`__","``extents::index-cast`` weirdness","2025-11 (Kona)","|Complete|","23","`#171311 <https://github.com/llvm/llvm-project/issues/171311>`__",""
diff --git a/libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp b/libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp
index e4c62f3d3df5c..bb6bdbd861e4d 100644
--- a/libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp
+++ b/libcxx/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp
@@ -30,24 +30,28 @@ struct A {
   typedef T element_type;
   element_type* t_;
 
-  A(element_type* t) : t_(t) {}
+  TEST_CONSTEXPR_CXX20 A(element_type* t) : t_(t) {}
 
-  static A pointer_to(typename std::conditional<std::is_void<element_type>::value, nat, element_type>::type& et) {
+  TEST_CONSTEXPR_CXX20 static A
+  pointer_to(typename std::conditional<std::is_void<element_type>::value, nat, element_type>::type& et) {
     return A(&et);
   }
 };
 
 template <class Pointer>
-void test() {
+TEST_CONSTEXPR_CXX20 bool test() {
   typename Pointer::element_type obj;
   static_assert(std::is_same<Pointer, decltype(std::pointer_traits<Pointer>::pointer_to(obj))>::value, "");
   Pointer p = std::pointer_traits<Pointer>::pointer_to(obj);
   assert(p.t_ == &obj);
+  return true;
 }
 
 int main(int, char**) {
   test<A<int> >();
   test<A<long> >();
+  static_assert(test<A<int> >());
+  static_assert(test<A<long> >());
   { (std::pointer_traits<A<void> >::element_type)0; }
 
   return 0;

``````````

</details>


https://github.com/llvm/llvm-project/pull/207487


More information about the libcxx-commits mailing list