1 // { dg-do compile }
2 
3 // Copyright (C) 2003 Free Software Foundation, Inc.
4 // Contributed by Nathan Sidwell 14 Aug 2003 <nathan@codesourcery.com>
5 
6 // required from did not indicate the nested class
7 
8 template<class T> struct X
9 {
10   T m;	// { dg-error "incomplete type|invalid use" }
11 };
12 
13 template<class T >
14 struct Derived
15 {
16   class Nested : public X<T> // { dg-message "required" }
17   {
18   };
19 
20   Nested m; // { dg-message "required" }
21 
22   void Foo ();
23 };
24 
Foo(Derived<void> & x)25 void Foo (Derived<void> &x)
26 {
27   x.Foo (); // { dg-message "required" }
28 }
29