template class A { template class SubA { int _k; }; T1 _t1; T2 _t2; // { dg-error "instantiated" } }; template class B { // { dg-error "" } class SubB1 { B _i; // { dg-error "" } }; class SubB2 { int _j; }; A::SubA _a; // { dg-error "" } }; int main() { B objB; // { dg-error "instantiated" } return 0; }