https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103843
--- Comment #8 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #7) > Also, this is an automatic (i.e. stack) variable, so the destructor will run > at the end of the block, meaning it will be settled twice. Sorry, auto-correct changed "destroyed" to "settled"