https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98978

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to andysem from comment #3)
> Is there no way to improve standard components implementation? I'd imagine
> you could provide the new implementation in the new version inline namespace
> and still support the old ABI for backward compatibility.

Yes ABI changes can be done for the --enable-symvers=gnu-versioned-namespace
configuration, but nobody uses it so anything invasive like this is not worth
the effort.

> This would be more problematic as emplace(), value() and operator*() need to
> return T&, which would not be possible.

Use 0xff to mean disengaged, and 0x00 and 0x01 for engaged. You only need to
return a reference when it's engaged.

Reply via email to