• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 // See comment in `include.rs` for why we disable the prelude.
10 #![no_implicit_prelude]
11 #![allow(warnings)]
12 
13 include!("include.rs");
14 
15 // Ensure that types that are use'd and types that are referenced by path work.
16 
17 mod foo {
18     use super::*;
19 
20     #[derive(imp::FromBytes, imp::IntoBytes, imp::Unaligned)]
21     #[repr(C)]
22     pub struct Foo {
23         foo: u8,
24     }
25 
26     #[derive(imp::FromBytes, imp::IntoBytes, imp::Unaligned)]
27     #[repr(C)]
28     pub struct Bar {
29         bar: u8,
30     }
31 }
32 
33 use foo::Foo;
34 
35 #[derive(imp::FromBytes, imp::IntoBytes, imp::Unaligned)]
36 #[repr(C)]
37 struct Baz {
38     foo: Foo,
39     bar: foo::Bar,
40 }
41