1 // { dg-do compile } 2 3 // Specialization of member class template. 4 5 template<class T1> struct A 6 { 7 template<class T2> struct B {}; 8 template<class T2> struct C {}; 9 }; 10 11 template <> template <> struct A<int>::B<int>; 12 template <> template <class U> struct A<int>::B {}; 13 A<int>::B<int> ab; // { dg-error "incomplete" } 14 15 A<int>::C<char> ac; 16 template <> template <class U> struct A<int>::C {}; // { dg-error "specialization" } 17