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