https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107531
--- Comment #2 from nightstrike <nightstrike at gmail dot com> --- It looks like you're right. The root cause of the problem is that in my non-reduced case, I didn't have a copy constructor, but I had a non-default destructor that was releasing resources twice. So it's clearly my fault, I just kind of hoped the compiler could be a little more omniscient :) If a warning is not really possible here, then I guess this could be "closed invalid". Or maybe there are already PR's open to request a warning to remind you that you did something requiring a non-default copy constructor?