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