[libcxx-commits] [libcxx] [libcxx] Make removed allocator members constexpr in C++20 (PR #69466)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Thu Oct 19 07:51:04 PDT 2023


ldionne wrote:

> 
> That being said, rolling this out also causes a lot of breakages because of more `constexpr` inside our codebase. In particular, Clang starts instantiating members of `vector` earlier causing "incomplete type" errors all over the place. So doing the cleanup and not landing the patch is the only way forward for us as well.

This is the kind of stuff I mean when I say "deeper into non-conformance land". Often a seemingly simple change will have unexpected effects like this. And the worst part is that sometimes those effects can be discovered only later once it's really difficult to undo a decision. This is why you will often see me pushing back when people request anything that takes us away from strict conformance (except in specific areas like extension-nodiscard) -- because that usually leads to just more problems down the road. At the end of the day, each Standard version is designed to be a coherent whole and trying to mix things cross-standards or have divergences usually leads to unforeseen issues.

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


More information about the libcxx-commits mailing list