https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102899
--- Comment #2 from friedkeenan at protonmail dot com --- (In reply to Jakub Jelinek from comment #1) > Why do you think this is a compiler bug? > If you delete this, you invoke the destructor and then the operator delete, > so when you do this in the destructor, it means you do infinite recursion. Because this message is really unhelpful, and Clang handles it as I would expect, where it errors on the second deallocation of `this`, and that's it.