// PR c++/72764 // { dg-do compile { target c++11 } } template < typename > struct A; template < typename > struct B {}; template < typename T > using C = typename A < T >::template D < T >; template < typename T > struct A { // should be: template < typename > struct D : B < C < T > > {}; struct D : B < C < T > > {}; // { dg-error "not a class template" } }; A < int >::D a; // { dg-message "required" }