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
3namespace zoidberg {
4
5template <typename T>
6class Template {
7    T member;
8};
9
10struct Foo {
11    char c;
12};
13
14struct Bar {
15    int i;
16};
17
18class ContainsInstantiation {
19    Template<Foo> not_opaque;
20};
21
22class 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