1 // PR debug/56819
2 // { dg-do compile }
3 // { dg-options "-fcompare-debug" }
4 // { dg-xfail-if "" { powerpc-ibm-aix* } { "*" } { "" } }
5 
6 template <typename>
7 struct A
8 {
9   template <typename>
10   struct B;
11 };
12 
13 template <typename>
14 struct C
15 {
16   typedef int I;
17 };
18 
19 template <typename T>
20 class D
21 {
22   typedef A <void> E;
23   typedef typename T::template B <E> F;
24   typedef typename C <F>::I I;
foo()25   A <I> foo () { return A<I> (); }
26 };
27 
28 template class D <A <void> >;
29