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