1// bindgen-flags: --opaque-type 'OpaqueTemplate' --with-derive-hash --with-derive-partialeq --impl-partialeq --with-derive-eq --rust-target 1.40 2 3template<typename T> 4class 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. 11class 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. 18class InheritsOpaqueTemplate : public OpaqueTemplate<bool> { 19 char* wow; 20}; 21