1// Contributed by Dodji Seketeli <dodji@redhat.com>
2// Origin PR c++/39754
3// { dg-do compile }
4
5template < typename > struct A ;
6template < typename T , typename = A < T > > struct B { } ;
7template < class W , class > struct D
8{
9  typedef W X ;
10  A<X*> a ;
11};
12
13template < class Y > struct E
14{
15  B<Y*> b ;
16} ;
17E<int> e ;
18
19