1*99451b44SJordan Rupprecht namespace n { 2*99451b44SJordan Rupprecht struct D { 3*99451b44SJordan Rupprecht int i; anIntn::D4*99451b44SJordan Rupprecht static int anInt() { return 2; } dumpn::D5*99451b44SJordan Rupprecht int dump() { return i; } 6*99451b44SJordan Rupprecht }; 7*99451b44SJordan Rupprecht 8*99451b44SJordan Rupprecht class C { 9*99451b44SJordan Rupprecht public: 10*99451b44SJordan Rupprecht int foo(D *D); 11*99451b44SJordan Rupprecht }; 12*99451b44SJordan Rupprecht } 13*99451b44SJordan Rupprecht 14*99451b44SJordan Rupprecht using namespace n; 15*99451b44SJordan Rupprecht foo(D * D)16*99451b44SJordan Rupprechtint C::foo(D* D) { 17*99451b44SJordan Rupprecht return D->dump(); //% self.expect("expression -- D->dump()", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["int", "2"]) 18*99451b44SJordan Rupprecht //% self.expect("expression -- D::anInt()", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["int", "2"]) 19*99451b44SJordan Rupprecht 20*99451b44SJordan Rupprecht } 21*99451b44SJordan Rupprecht main(int argc,char const * argv[])22*99451b44SJordan Rupprechtint main (int argc, char const *argv[]) 23*99451b44SJordan Rupprecht { 24*99451b44SJordan Rupprecht D myD { D::anInt() }; 25*99451b44SJordan Rupprecht C().foo(&myD); 26*99451b44SJordan Rupprecht return 0; 27*99451b44SJordan Rupprecht } 28