1 // bindgen-flags: --opaque-type 'OpaqueTemplate' --with-derive-hash --with-derive-partialeq --impl-partialeq --with-derive-eq --rust-target 1.40 2 3 template<typename T> 4 class OpaqueTemplate { 5 T mData; 6 bool mCannotDebug[400]; 7 }; 8 9 /// This should not end up deriving Debug/Hash because its `mBlah` field cannot derive 10 /// Debug/Hash because the instantiation's definition cannot derive Debug/Hash. 11 class ContainsOpaqueTemplate { 12 OpaqueTemplate<int> mBlah; 13 int mBaz; 14 }; 15 16 /// This should not end up deriving Debug/Hash either, for similar reasons, although 17 /// we're exercising base member edges now. 18 class InheritsOpaqueTemplate : public OpaqueTemplate<bool> { 19 char* wow; 20 }; 21