1// { dg-do run } 2template< int i > struct T : 3public T< i-1 > 4{ 5}; 6 7template<> struct T< 0 > 8{ 9}; 10 11template< class F > struct T1 : 12public T< F::dim > 13{ 14}; 15 16template< int i > struct S 17{ 18 enum { dim = i } ; 19}; 20 21int main() 22{ 23 T1< S< 4 > > t ; 24 return( 0 ) ; 25} 26 27