https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95349
--- Comment #51 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Richard Biener from comment #48) > (In reply to Christopher Nerz from comment #47) > > But shouldn't both give the same value? > > I'm not sure what the standard says to this. Does std::launder(...) > sanitize earlier "undefined behavior"? For example failing to initialize > an object? No. The example appears to be trying to use std::launder as std::start_lifetime_as, but they're not the same.