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.