https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107126
Jason Merrill <jason at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 CC| |jason at gcc dot gnu.org Summary|GCC accepts invalid out of |-Wc++20-compat should |class definition for |complain about template-id |destructor with C++17 |in out of class definition | |for destructor Last reconfirmed| |2022-10-03 --- Comment #8 from Jason Merrill <jason at gcc dot gnu.org> --- As Jonathan documents, this was explicitly well-formed from DR1435 in C++11 until P1787 in C++23. It seems reasonable to also apply the P1787 change to C++20, treating it as a missing piece of the DR2237 resolution. It seems undesirable to apply it to C++17 as well. But it would be helpful for -Wc++20-compat to flag this compatibility issue Incidentally, we should probably also reduce the C++20 error to a pedwarn.