1 // { dg-do compile }
2 // Contributed by Matty T. <mattyt-bugzilla at tpg dot com dot au>
3 // PR c++/13813 [DR206]: Check semantic constraints of members of
4 //   non-dependent type at instantiation time.
5 
6 
7 // DR206 explains that this is ill-formed, no diagnostic required. We emit
8 //  a diagnostic instead.
9 class E;
10 template < class A > class Z {
11   A a;
12   E e;   // { dg-error "incomplete type" }
13 };
14 
15 
16 // Nested classes are always dependent names.
17 template < class A > class Y {
18   class F;
19   F e;   // { dg-bogus "" "nested classes are always dependent, see DR108 and DR224" }
20 };
21