[libcxx-commits] [libcxx] [libc++] Introduce _LIBCPP_ABI_BOUNDED_ITERATORS_IN_{STRING_VIEW, SPAN} (PR #143172)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jun 20 08:50:28 PDT 2025


ldionne wrote:

> The main downside I see is that it makes it a lot easier to have a very weird ABI configuration. I understand that there can be some roll-out challenges, but at this point I think it would be better to allow opting out of specific additions for a set period of time rather than having to opt in to every single one individually.

There is a fundamental problem with bundling all of these ABI changes under the same setting. We can't claim that each ABI configuration gives rise to a stable ABI of its own and then plan to have ABI breaking changes from release to release when you enable one of these ABI configurations. That's just not a consistent model. Sure, we can have a pre-set that allows enabling all of the bounded iterators (as a shortcut), but that can't be the only way of enabling these.

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


More information about the libcxx-commits mailing list