https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116071
Bug ID: 116071 Summary: Non-inline destructor for class template rejected with -std=gnu++14 -fconcepts Product: gcc Version: 14.1.0 Status: UNCONFIRMED Keywords: rejects-valid Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: redi at gcc dot gnu.org Target Milestone: --- template<class T> struct S { ~S(); }; template<class T> S<T>::~S() { } $ g++ -std=gnu++14 -fconcepts -c dest.cc dest.cc:2:25: error: declaration of '~ S' as non-member 2 | template<class T> S<T>::~S() { } | ^~ We should either disallow concepts in C++14, or this needs to work because it occurs several times in the libstdc++ headers.