[libcxx-commits] [libcxx] [libc++] Require the exact assignment expression to be trivial in `__uninitialized_allocator_copy_impl` (PR #196648)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Sat May 9 10:03:18 PDT 2026


================
@@ -486,7 +486,7 @@ inline const bool __allocator_has_trivial_copy_construct_v<allocator<_Type>, _Ty
 template <class _Alloc,
           class _In,
           class _Out,
-          __enable_if_t<is_trivially_copy_constructible<_In>::value && is_trivially_copy_assignable<_In>::value &&
+          __enable_if_t<is_trivially_copy_constructible<_In>::value && is_trivially_assignable<_Out&, _In&>::value &&
----------------
philnik777 wrote:

I think we should rather qualify the input pointers. That should fix the problem and reduce the number of instantiations.

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


More information about the libcxx-commits mailing list