https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101783
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|diagnostic | Last reconfirmed| |2021-08-06 Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Confirmed, doesn't seem to be a regression. It compiles if you remove the typename: template<class T> struct A{ typedef T& Type; }; template<class T> void f(const typename A<T>::Type){} struct B{}; template <> void f<B>(const A<B>::Type){}