1 // bindgen-flags: --enable-cxx-namespaces --allowlist-type JSAutoCompartment -- -std=c++11
2 
3 namespace mozilla {
4     template <typename> class a {};
5     namespace detail {
6         class GuardObjectNotifier {};
7         struct b;
8     }
9     class c {
10         typedef detail::b d;
11     };
12 }
13 namespace js {
14     class D {
15         mozilla::a<mozilla::c> e;
16     };
17 }
18 struct f {
19     js::D g;
20 };
21 namespace js {
22     struct ContextFriendFields : f {};
23 }
24 class JSAutoCompartment {
25 public:
26     JSAutoCompartment(mozilla::detail::GuardObjectNotifier);
27 };
28