[libcxx-commits] [libcxx] [libc++] Add the __is_replaceable type trait (PR #132408)
Mark de Wever via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Mar 27 10:43:58 PDT 2025
================
@@ -120,6 +121,10 @@ class _LIBCPP_TEMPLATE_VIS vector {
__libcpp_is_trivially_relocatable<pointer>::value && __libcpp_is_trivially_relocatable<allocator_type>::value,
vector,
void>;
+ using __replaceable _LIBCPP_NODEBUG =
+ __conditional_t<__is_replaceable<pointer>::value && __container_allocator_is_replaceable<__alloc_traits>::value,
+ vector,
+ void>;
----------------
mordante wrote:
The issue I see is that the value of `__replaceable` differs. The TU1 does not define it for `std::vector<bool>` while TU2 does. This due to the place where `__replaceable` is defined. This definition is not included by the header "__vector/vector_bool.h".
https://github.com/llvm/llvm-project/pull/132408
More information about the libcxx-commits
mailing list