1// { dg-do run } 2template<class T> class D 3{ 4 T a; 5 public: 6 int f(); 7}; 8 9template<class T> int D<T>::f() 10{ 11 return sizeof(T); 12} 13 14template<class E,template<class> class DD = D> class C 15{ 16 DD<E> d; 17 public: 18 int f(); 19}; 20 21template<class E,template<class> class DD> int C<E,DD>::f() 22{ 23 DD<E> d2; 24 return d2.f(); 25} 26 27int main() 28{ 29 C<int> c; 30 c.f(); 31} 32