1 struct OuterX {
2   template<typename T>
3   struct Inner {
4     int oX_inner = 42;
5   };
6 };
7 
8 struct OuterY {
9   template<typename T>
10   struct Inner {
11     typename OuterX::Inner<T> oY_inner;
12   };
13 };
14 
15 struct WrapperB;
16 
17 WrapperB* foo();
18