// PR c++/44118
template < typename > struct S;
template < typename > struct S < int >; // { dg-error "template" }
template < typename > struct S < int >
{
  void f ();
};
void
f ()
{
  S < int >::f ();
}
// Don't be picky about error-recovery.
// { dg-prune-output "." }