1template <class T1, class T2>
2class A {
3  template <class S>
4  class SubA {
5    int _k;
6  };
7  T1 _t1;
8  T2 _t2; // { dg-error "instantiated" }
9};
10
11template <class U>
12class B { // { dg-error "" }
13  class SubB1 {
14    B _i; // { dg-error "" }
15  };
16
17  class SubB2 {
18    int _j;
19  };
20  A<U,SubB1>::SubA<SubB2> _a; // { dg-error "" }
21};
22
23
24int main() {
25  B<char> objB; // { dg-error "instantiated" }
26
27  return 0;
28}
29