[libcxx-commits] [libcxx] [libc++] Add the __is_replaceable type trait (PR #132408)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Tue Mar 25 06:26:44 PDT 2025


================
@@ -754,13 +755,20 @@ public:
   // external memory. In such cases, the destructor is responsible for unpoisoning
   // the memory to avoid triggering false positives.
   // Therefore it's crucial to ensure the destructor is called.
+  //
+  // However, it is replaceable since implementing move-assignment as a destroy + move-construct
+  // will maintain the right ASAN state.
----------------
philnik777 wrote:

This seems incorrect. The old annotations can very well be wrong for the new string.

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


More information about the libcxx-commits mailing list