[libcxx-commits] [libcxx] [libc++] Re-introduce special support for narrowing conversions to bool in variant (PR #73121)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Wed Nov 22 11:53:16 PST 2023


ldionne wrote:

Wow, thanks a ton for this summary. This is amazing and extremely useful since this is indeed very confusing.

So I think we're all on the same page. Basically most people in the wild will see their code go from _p0608r3_ to _p1957r2_, which seems like it wouldn't cause a lot of issues.

Google, who has been enabling the flag, will be allowed to stay in _mostly-pre-p0608r3_ world for a bit more time, and then they'll hop on the standard _p1957r2_ behavior. They'll have roughly until we branch for LLVM 18 to do this, which should happen some time in January of February. It seems like the real offender here is that the work to switch away from _mostly-pre-p0608r3_ behavior was never completed at Google (for ~4 years) since there was the option not to (via the macro). I think this is totally understandable, honestly the same would happen around here.

However, I think it is a great showcase of why we have to be careful about accepting debt like this upstream since it often removes the incentive for downstreams to actually pay it off, and it harms the project in the long run. Anyway, I think what we have here is a sensible transition plan.

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


More information about the libcxx-commits mailing list