https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106658
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- See for example PR101641 where even existing cases are currently impossible to get right. So the only way to make std::start_lifetime_at <T> is to somehow emit a hard memory barrier for the compiler _and_ make sure the underlying storage is address-taken. Note this barrier has to prevail in RTL as well (I think std::launder is broken in this regard).