[libcxx-commits] [libcxx] [libc++] constexpr deque (PR #129368)

A. Jiang via libcxx-commits libcxx-commits at lists.llvm.org
Tue Mar 10 06:29:00 PDT 2026


frederick-vs-ja wrote:

Looks like that there's another blocking issue, unfortunately.

The calls to `move` and `move_backward` assign to non-living array elements (possibly fancy pointers in the case of `deque`), which is UB and correctly diagnosed by Clang during constant evaluation.
https://github.com/llvm/llvm-project/blob/e1fcdc455fc43e6df1ad09d290d1c6155fde3260/libcxx/include/__split_buffer#L792-L832

Previously, the paths were never used in constant evaluation, and assignment to non-living pointers were generally fine at run time even if it's UB.

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


More information about the libcxx-commits mailing list