1 // Copyright (C) 2001 Free Software Foundation 2 // Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net> 3 // { dg-do compile } 4 5 struct A 6 { 7 template <class T> struct B {}; 8 }; 9 10 template <template <class, class> class TT> // { dg-message "provided for" } 11 struct X 12 { 13 TT<int> y; // { dg-error "number" } 14 }; 15 16 template <class T> struct C 17 { 18 X<T::template B> x; // { dg-error "type" } 19 }; 20 main()21int main() 22 { 23 C<A> c; // { dg-message "required" } 24 } 25