https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92636
Bug ID: 92636 Summary: out-of-class definition of member template of specialization Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: nathan at gcc dot gnu.org Target Milestone: --- looks like a long standing bug, and probably already reported. But I ran into it, it looks well formed [clang accepts it] template <typename T> class X; template<> class X<void> { template<typename U> void f (U); }; template<> template<typename U> void X<void>::f (U) { } g++ -c x.cc:11:6: error: too many template-parameter-lists 11 | void X<void>::f<U> (U)