// PR c++/71662 // { dg-do compile { target c++11 } } // { dg-additional-options "-Wno-return-type" } template < typename T > struct A { enum E : T; E h (); }; A < int > a; A < int >::E b = a.h (); template < typename T > enum A < T >::E : T { e }; // { dg-message "enumeration" } template < typename T > typename A < T >::E A < T >::h () { return e; // { dg-error "declared" } }