https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107126

            Bug ID: 107126
           Summary: GCC accepts invalid out of class definition for
                    destructor with C++17
           Product: gcc
           Version: 12.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jlame646 at gmail dot com
  Target Milestone: ---

The following invalid program is accepted by gcc with C++17. Demo:
https://godbolt.org/z/TYjEzss6q

```
template<typename T>
struct C
{
    ~C();
};
template<typename T>
C<T>::~C<T>()      //this is accepted by gcc with c++17
{

}
int main()
{
    C<int> c;;
}
```

This has been discussed here:
https://stackoverflow.com/questions/73928601/clang-accepts-out-of-class-destructor-definition-while-gcc-does-not

Reply via email to