1 // bindgen-flags: --enable-cxx-namespaces --opaque-type 'zoidberg::Template<zoidberg::Bar>' --with-derive-hash --with-derive-partialeq --with-derive-eq -- -std=c++14 2 3 namespace zoidberg { 4 5 template <typename T> 6 class Template { 7 T member; 8 }; 9 10 struct Foo { 11 char c; 12 }; 13 14 struct Bar { 15 int i; 16 }; 17 18 class ContainsInstantiation { 19 Template<Foo> not_opaque; 20 }; 21 22 class ContainsOpaqueInstantiation { 23 // We should not generate a layout test for this instantiation, and it 24 // should appear as an opaque blob of bytes in 25 // `ContainsOpaqueInstantiation`'s type definition. 26 Template<Bar> opaque; 27 }; 28 29 } 30