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()21 int main()
22 {
23 	C<A> c; // { dg-message "required" }
24 }
25