blob: 0fe99511e4caad438e5cb16a541c58a0de601a5f [file] [log] [blame]
// Contributed by Dodji Seketeli <dodji@redhat.com>
// { dg-do compile }
template<class T>
struct C
{
void bar();
};
template<class T>
void
C<T>::bar()
{
}
template<class U,
template<class TT0_T0> class TT0 = C,
template<class TT1_T0> class TT1 = TT0>
struct S
{
C<U> s;
void foo(TT1<U>);
void bar()
{
foo(s);
}
};
template<class T,
template<class TT0_T0> class TT0,
template<class TT1_T0> class TT1>
void
S<T, TT0, TT1>::foo(TT1<T>)
{
C<T> c;
}