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)25void Foo (Derived<void> &x) 26 { 27 x.Foo (); // { dg-message "required" } 28 } 29