1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// Zero-copy account/state structs. Each struct is labeled with the finding it
// should (or should not) produce under `pinoc check`.
// EXPECT: ZC001-P (padded: owner 32 + amount 8 + bump 1 = 41 packed, but
// #[repr(C)] rounds to 48; 7 bytes of padding)
// EXPECT: silent (naturally packed: 32 + 8 = 40, no padding)
// EXPECT: silent (same fields as PaddedVault, but explicit _padding makes the
// #[repr(C)] size match the packed borsh size, so it round-trips)
// EXPECT: silent while the allow is present; remove the line to see ZC001-P fire
// pinoc:allow(ZC001-P) padding is intentional here