[libcxx-commits] [libcxx] [libc++] Partially implement LWG3187 for `polymorphic_allocator` (PR #171090)
A. Jiang via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Dec 8 01:50:30 PST 2025
================
@@ -67,21 +73,25 @@ template <class _Type, class _Alloc, class... _Args>
_LIBCPP_HIDE_FROM_ABI constexpr _Type __make_obj_using_allocator(const _Alloc& __alloc, _Args&&... __args);
template <class _Pair>
-struct __uses_allocator_construction_args<_Pair, __enable_if_t<__is_cv_std_pair<_Pair>>> {
+struct __uses_allocator_construction_args<_Pair, true> {
template <class _Alloc, class _Tuple1, class _Tuple2>
static _LIBCPP_HIDE_FROM_ABI constexpr auto
__apply(const _Alloc& __alloc, piecewise_construct_t, _Tuple1&& __x, _Tuple2&& __y) noexcept {
return std::make_tuple(
+# if _LIBCPP_STD_VER >= 20
piecewise_construct,
+# else
+ std::ref(piecewise_construct),
----------------
frederick-vs-ja wrote:
`std::ref(piecewise_construct)` caused linker error for "generic-modules-cxx17-lsv, llvm-premerge-libcxx-runners" build.
- https://github.com/llvm/llvm-project/actions/runs/20022073370/job/57414796205?pr=171090
https://github.com/llvm/llvm-project/pull/171090
More information about the libcxx-commits
mailing list