1 #![allow( 2 dead_code, 3 non_snake_case, 4 non_camel_case_types, 5 non_upper_case_globals 6 )] 7 8 #[allow(non_snake_case, non_camel_case_types, non_upper_case_globals)] 9 pub mod root { 10 #[allow(unused_imports)] 11 use self::super::root; 12 pub mod outer { 13 #[allow(unused_imports)] 14 use self::super::super::root; 15 pub mod inner { 16 #[allow(unused_imports)] 17 use self::super::super::super::root; 18 #[repr(C)] 19 #[derive(Debug, Default, Copy, Clone)] 20 pub struct Helper { 21 pub _address: u8, 22 } 23 #[test] bindgen_test_layout_Helper()24 fn bindgen_test_layout_Helper() { 25 assert_eq!( 26 ::std::mem::size_of::<Helper>(), 27 1usize, 28 concat!("Size of: ", stringify!(Helper)) 29 ); 30 assert_eq!( 31 ::std::mem::align_of::<Helper>(), 32 1usize, 33 concat!("Alignment of ", stringify!(Helper)) 34 ); 35 } 36 } 37 #[repr(C)] 38 #[derive(Debug, Default, Copy, Clone)] 39 pub struct Test { 40 pub helper: root::outer::inner::Helper, 41 } 42 #[test] bindgen_test_layout_Test()43 fn bindgen_test_layout_Test() { 44 const UNINIT: ::std::mem::MaybeUninit<Test> = 45 ::std::mem::MaybeUninit::uninit(); 46 let ptr = UNINIT.as_ptr(); 47 assert_eq!( 48 ::std::mem::size_of::<Test>(), 49 1usize, 50 concat!("Size of: ", stringify!(Test)) 51 ); 52 assert_eq!( 53 ::std::mem::align_of::<Test>(), 54 1usize, 55 concat!("Alignment of ", stringify!(Test)) 56 ); 57 assert_eq!( 58 unsafe { 59 ::std::ptr::addr_of!((*ptr).helper) as usize - ptr as usize 60 }, 61 0usize, 62 concat!( 63 "Offset of field: ", 64 stringify!(Test), 65 "::", 66 stringify!(helper) 67 ) 68 ); 69 } 70 } 71 } 72