1// bindgen-flags: --with-derive-hash --with-derive-partialeq --with-derive-eq --impl-partialeq --rust-target 1.40
2/**
3 * We emit a `[u8; 63usize]` padding field for this struct, which cannot derive
4 * Debug/Hash because 63 is over the hard coded limit.
5 */
6struct NoDebug {
7    char c;
8    // padding of 63 bytes
9} __attribute__((__aligned__(64)));
10
11/**
12 * This should derive Debug/Hash/PartialEq/Eq because the padding size is less than the max derive
13 * Debug/Hash/PartialEq/Eq impl for arrays. However, we conservatively don't derive Debug/Hash because
14 * we determine Debug derive-ability before we compute padding, which happens at
15 * codegen.
16 */
17struct ShouldDeriveDebugButDoesNot {
18    char c[32];
19    char d;
20    // padding of 31 bytes
21} __attribute__((__aligned__(64)));
22