• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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