1 // Copyright 2019 The Fuchsia Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #[macro_use]
6 extern crate zerocopy;
7 
main()8 fn main() {}
9 
10 //
11 // Generic errors
12 //
13 
14 #[derive(FromBytes)]
15 #[repr("foo")]
16 struct Generic1;
17 
18 #[derive(FromBytes)]
19 #[repr(foo)]
20 struct Generic2;
21 
22 #[derive(FromBytes)]
23 #[repr(u8)]
24 struct Generic3;
25 
26 #[derive(FromBytes)]
27 #[repr(i8)]
28 struct Generic4;
29 
30 #[derive(FromBytes)]
31 #[repr(u16)]
32 struct Generic5;
33 
34 #[derive(FromBytes)]
35 #[repr(i16)]
36 struct Generic6;
37 
38 #[derive(FromBytes)]
39 #[repr(u32)]
40 struct Generic7;
41 
42 #[derive(FromBytes)]
43 #[repr(i32)]
44 struct Generic8;
45 
46 #[derive(FromBytes)]
47 #[repr(u64)]
48 struct Generic9;
49 
50 #[derive(FromBytes)]
51 #[repr(i64)]
52 struct Generic10;
53 
54 #[derive(FromBytes)]
55 #[repr(usize)]
56 struct Generic11;
57 
58 #[derive(FromBytes)]
59 #[repr(isize)]
60 struct Generic12;
61 
62 #[derive(FromBytes)]
63 #[repr(transparent, packed)]
64 struct Generic14;
65 
66 #[derive(FromBytes)]
67 #[repr(C, transparent)]
68 struct Generic15;
69 
70 #[derive(FromBytes)]
71 struct Generic16;
72 
73 //
74 // FromBytes errors
75 //
76 
77 #[derive(FromBytes)]
78 #[repr(packed)]
79 struct FromBytes1;
80 
81 //
82 // AsBytes errors
83 //
84 
85 #[derive(AsBytes)]
86 #[repr(C)]
87 struct AsBytes1<T>(T);
88 
89 //
90 // Unaligned errors
91 //
92 
93 #[derive(Unaligned)]
94 #[repr(C, align(2))]
95 struct Unaligned1;
96 
97 #[derive(Unaligned)]
98 #[repr(transparent, align(2))]
99 struct Unaligned2 {
100     foo: u8,
101 }
102 
103 #[derive(Unaligned)]
104 #[repr(packed, align(2))]
105 struct Unaligned3;
106