1 // PR c++/81917
2 // { dg-do compile { target c++11 } }
3 
4 template <typename> using a = void;
5 template <typename, typename = void> struct b
6 {
7   typedef int c;
8 };
9 template <typename d> class b<d, a<typename d::e>>;
10 template <typename d, typename = typename b<d>::c> class f;
11 template <typename> class g { };
12 template <typename, typename> class h
13 {
14   class i;
15   typedef g<f<i>> j;
16   class i
17   {
18     j k;			// { dg-error "incomplete" }
19   };
20 };
21 h<int, int> H;
22 
23