1 // PR c++/41727
2 
3 struct tag0;
4 
5 template < class Tag > struct outer
6 {
7   template < typename Arg0, typename Arg1 > struct inner;
8 };
9 
10 template < int Value > struct value_wrap { };
11 
12 template </* class Tag */>
13 template < typename Arg0, int Arg1 >
14 struct outer <tag0 >::inner < Arg0, value_wrap < Arg1 > >
15 {
16   typedef Arg0 type;
17 };
18 
19 typedef outer < tag0 >
20 ::inner < tag0, value_wrap < 999 > >
21 ::type				// { dg-bogus "incomplete" "" { xfail *-*-* } }
22   outer_inner_type;
23