1// Contributed by Dodji Seketeli <dodji@redhat.com> 2// { dg-do compile } 3 4template<class T> 5struct C 6{ 7}; 8 9template<class T, 10 template<class TT_T0, template<class TT_T1> class TT_TT> class TT, 11 class U = TT<int, C> > 12struct S 13{ 14 void foo(TT<T, C>); 15}; 16 17template<class T, 18 template<class TT_T0, template<class TT_T1> class TT_TT> class TT, 19 class U> 20void 21S<T, TT, U>::foo(TT<T, C>) 22{ 23} 24