https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95638
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- I don't see anything obviously wrong with the code. Nothing seems to write to the storage before the constructor, let alone rely on those writes being preserved.