diff options
Diffstat (limited to 'bindgen-tests/tests/headers/namespace.hpp')
-rw-r--r-- | bindgen-tests/tests/headers/namespace.hpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/bindgen-tests/tests/headers/namespace.hpp b/bindgen-tests/tests/headers/namespace.hpp new file mode 100644 index 00000000..7e4197da --- /dev/null +++ b/bindgen-tests/tests/headers/namespace.hpp @@ -0,0 +1,51 @@ +// bindgen-flags: --enable-cxx-namespaces --module-raw-line root::whatever 'pub type whatever_other_thing_t = whatever_int_t;' + +void top_level(); + +namespace whatever { + typedef int whatever_int_t; + + void in_whatever(); +} + +namespace { + namespace empty {} + + struct A { + whatever::whatever_int_t b; + }; +} + +template<typename T> +class C: public A { + T m_c; + T* m_c_ptr; + T m_c_arr[10]; +}; + +template<> +class C<int>; + +namespace w { + typedef unsigned int whatever_int_t; + + template<typename T> + class D { + C<T> m_c; + }; + + whatever_int_t heh(); // this should return w::whatever_int_t, and not whatever::whatever_int_t + + C<int> foo(); + + C<float> barr(); // <- This is the problematic one +} + +#define NAMESPACE foobar +namespace NAMESPACE { + void foo(); +} + +#include "namespace/nsbegin.h" +void bar(); +#include "namespace/nsend.h" |