1// Copyright (C) 2001 Free Software Foundation
2// Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>
3// { dg-do compile }
4
5template <class U> struct A
6{
7	template <class T> class B {}; // { dg-message "operator=|no known conversion" }
8};
9
10template <template <class> class TT> void f()
11{
12	TT<int> y;
13	y = 0; // { dg-error "no match" }
14}
15
16template <class T> struct C
17{
18	void g() { f<A<T>::template B>(); } // { dg-message "required" }
19};
20
21int main()
22{
23	C<int> c;
24	c.g(); // { dg-message "required" }
25}
26