112a9d9c8Sopenharmony_ci// bindgen-flags: --enable-cxx-namespaces --module-raw-line root::whatever 'pub type whatever_other_thing_t = whatever_int_t;'
212a9d9c8Sopenharmony_ci
312a9d9c8Sopenharmony_civoid top_level();
412a9d9c8Sopenharmony_ci
512a9d9c8Sopenharmony_cinamespace whatever {
612a9d9c8Sopenharmony_ci    typedef int whatever_int_t;
712a9d9c8Sopenharmony_ci
812a9d9c8Sopenharmony_ci    void in_whatever();
912a9d9c8Sopenharmony_ci}
1012a9d9c8Sopenharmony_ci
1112a9d9c8Sopenharmony_cinamespace {
1212a9d9c8Sopenharmony_ci    namespace empty {}
1312a9d9c8Sopenharmony_ci
1412a9d9c8Sopenharmony_ci    struct A {
1512a9d9c8Sopenharmony_ci        whatever::whatever_int_t b;
1612a9d9c8Sopenharmony_ci    };
1712a9d9c8Sopenharmony_ci}
1812a9d9c8Sopenharmony_ci
1912a9d9c8Sopenharmony_citemplate<typename T>
2012a9d9c8Sopenharmony_ciclass C: public A {
2112a9d9c8Sopenharmony_ci    T m_c;
2212a9d9c8Sopenharmony_ci    T* m_c_ptr;
2312a9d9c8Sopenharmony_ci    T m_c_arr[10];
2412a9d9c8Sopenharmony_ci};
2512a9d9c8Sopenharmony_ci
2612a9d9c8Sopenharmony_citemplate<>
2712a9d9c8Sopenharmony_ciclass C<int>;
2812a9d9c8Sopenharmony_ci
2912a9d9c8Sopenharmony_cinamespace w {
3012a9d9c8Sopenharmony_ci    typedef unsigned int whatever_int_t;
3112a9d9c8Sopenharmony_ci
3212a9d9c8Sopenharmony_ci    template<typename T>
3312a9d9c8Sopenharmony_ci    class D {
3412a9d9c8Sopenharmony_ci        C<T> m_c;
3512a9d9c8Sopenharmony_ci    };
3612a9d9c8Sopenharmony_ci
3712a9d9c8Sopenharmony_ci    whatever_int_t heh(); // this should return w::whatever_int_t, and not whatever::whatever_int_t
3812a9d9c8Sopenharmony_ci
3912a9d9c8Sopenharmony_ci    C<int> foo();
4012a9d9c8Sopenharmony_ci
4112a9d9c8Sopenharmony_ci    C<float> barr(); // <- This is the problematic one
4212a9d9c8Sopenharmony_ci}
4312a9d9c8Sopenharmony_ci
4412a9d9c8Sopenharmony_ci#define NAMESPACE foobar
4512a9d9c8Sopenharmony_cinamespace NAMESPACE {
4612a9d9c8Sopenharmony_ci    void foo();
4712a9d9c8Sopenharmony_ci}
4812a9d9c8Sopenharmony_ci
4912a9d9c8Sopenharmony_ci#include "namespace/nsbegin.h"
5012a9d9c8Sopenharmony_civoid bar();
5112a9d9c8Sopenharmony_ci#include "namespace/nsend.h"
52