1 // PR c++/71662
2 // { dg-do compile { target c++11 } }
3 // { dg-additional-options "-Wno-return-type" }
4 
5 template < typename T > struct A
6 {
7   enum E : T;
8   E h ();
9 };
10 
11 A < int > a;
12 A < int >::E b = a.h ();
13 
14 template < typename T > enum A < T >::E : T { e };  // { dg-message "enumeration" }
15 
h()16 template < typename T > typename A < T >::E A < T >::h ()
17 {
18   return e;  // { dg-error "declared" }
19 }
20