https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85127
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- EDG rejects it too: "us.cc", line 11: error: template argument list must match the parameter list void B<T>::foo() { ^ 1 error detected in the compilation of "us.cc". I'm not aware of any rule making this invalid, so I agree it should be accepted.