// Contributed by Dodji Seketeli // { dg-do compile } template struct C { }; template class TT_TT> class TT, class U = TT > struct S { void foo(TT); }; template class TT_TT> class TT, class U> void S::foo(TT) { }