// { dg-do compile { target c++11 } } // These also represent tests for printing alias declarations and // their instantiations. template struct A0 {}; template using AA0 = A0; template struct AA0 {}; // { dg-error "specialization" } template using Ptr = U*; template struct Ptr {}; // { dg-error "specialization" } struct A { using A = int; // { dg-error "11:ISO C\\+\\+ forbids nested type .A." } // { dg-error "11:.using A::A = int. has the same name as" "" { target c++11 } .-1 } };