1 // Copyright 2019 The Fuchsia Authors 2 // 3 // Licensed under a BSD-style license <LICENSE-BSD>, Apache License, Version 2.0 4 // <LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0>, or the MIT 5 // license <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your option. 6 // This file may not be copied, modified, or distributed except according to 7 // those terms. 8 9 #![allow(warnings)] 10 11 use zerocopy::{AsBytes, FromBytes, FromZeroes, Unaligned}; 12 13 // Ensure that types that are use'd and types that are referenced by path work. 14 15 mod foo { 16 use zerocopy::{AsBytes, FromBytes, FromZeroes, Unaligned}; 17 18 #[derive(FromZeroes, FromBytes, AsBytes, Unaligned)] 19 #[repr(C)] 20 pub struct Foo { 21 foo: u8, 22 } 23 24 #[derive(FromZeroes, FromBytes, AsBytes, Unaligned)] 25 #[repr(C)] 26 pub struct Bar { 27 bar: u8, 28 } 29 } 30 31 use foo::Foo; 32 33 #[derive(FromZeroes, FromBytes, AsBytes, Unaligned)] 34 #[repr(C)] 35 struct Baz { 36 foo: Foo, 37 bar: foo::Bar, 38 } 39