// bindgen-flags: --with-derive-hash --with-derive-partialeq --with-derive-eq class A { public: int member_a; class B { int member_b; }; class C; template class D { T foo; }; }; class A::C { int baz; }; A::B var; A::D baz; class D { A::B member; }; template class Templated { T member; class Templated_inner { public: T* member_ptr; void get(); }; };