[libcxx-commits] [libcxx] [libc++] Implement P4206R0 Revert string support in std::constant_wrapper (PR #203338)

Yihan Wang via libcxx-commits libcxx-commits at lists.llvm.org
Sun Jun 21 23:32:53 PDT 2026


================
@@ -84,6 +85,11 @@ Potentially breaking changes
   causes programs which rely on these includes to not compile anymore. Any errors caused by this should be fixable by
   including the correct header. To ease the transition ``_LIBCPP_KEEP_TRANSITIVE_INCLUDES_LLVM23`` can be defined, which
   includes the removed headers again. This macro will be removed in LLVM 24.
+- P4206R0 (Revert string support in ``std::constant_wrapper``). This fixes C++26's ``std::constant_wrapper`` by removing 
+  support for a special case (string constants). Doing that simplifies the class, makes it easier to use as a function
+  parameter, and reduce symbol sizes significantly. The change will affect existing compilers retroactively(It's a DR).
+  Also this is a breaking change to C++26, but the class' relative newness and the difficulty of back-poting it means
+  that it currently has few users.
----------------
yronglin wrote:

Done.

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


More information about the libcxx-commits mailing list