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()8fn 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