# This test checks that we can correctly distinguish between types with the same # name in different namespaces. includes = ["queue", "stack"] definitions = ''' namespace nsA { struct Foo { int x; }; } // namespace nsA namespace nsB { struct Foo { int y; int z; }; } // namespace nsB ''' [cases] [cases.queue] oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/308 param_types = ["const std::queue>&"] setup = "return std::queue>({{ns_namespaces::nsA::Foo(), ns_namespaces::nsB::Foo()}});" expect_json = '''[{ "typeName": "std::queue, std::deque, std::allocator>>>", "staticSize": 80, "dynamicSize": 12, "length": 1, "capacity": 1, "elementStaticSize": 12 }]''' [cases.stack] oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/305 param_types = ["const std::stack>&"] setup = "return std::stack>({{ns_namespaces::nsA::Foo(), ns_namespaces::nsB::Foo()}});" expect_json = '''[{ "typeName": "std::stack, std::deque, std::allocator>>>", "staticSize": 80, "dynamicSize": 12, "length": 1, "capacity": 1, "elementStaticSize": 12 }]'''