// bindgen-unstable // This was originally a test case generated by creducing errors in SpiderMonkey // bindings generation. I've tried to make it understandable by giving more // meaningful names to everything, and a couple comments. // // We don't support partial template specialization, but we *should* // successfully parse this header, and generate bindings for it, but the usage // of the partial template specialization should result in opaque blobs. // A base class providing a method. template class Base { public: void some_method(T, T); }; // A template with a default representation. template class Derived { bool b; }; // A partial specialization for pointers. Note that this should have a different // and larger layout than the template it is specializing. template class Derived : public Base { int x; int y; }; // A struct that uses the partial specialization and method from the partial // specialization's base class. struct Usage { Usage() { static_member.some_method(this, this); } static Derived static_member; };