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
8template<class T> struct X
9{
10  T m;	// { dg-error "incomplete type|invalid use" }
11};
12
13template<class T >
14struct 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
25void Foo (Derived<void> &x)
26{
27  x.Foo (); // { dg-message "required" "" }
28}
29