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 #[repr(C)] 13 #[derive(Debug, Copy, Clone)] 14 pub struct i { 15 pub j: *mut root::i, 16 pub k: *mut root::i, 17 pub l: bool, 18 } 19 #[test] bindgen_test_layout_i()20 fn bindgen_test_layout_i() { 21 const UNINIT: ::std::mem::MaybeUninit<i> = 22 ::std::mem::MaybeUninit::uninit(); 23 let ptr = UNINIT.as_ptr(); 24 assert_eq!( 25 ::std::mem::size_of::<i>(), 26 24usize, 27 concat!("Size of: ", stringify!(i)) 28 ); 29 assert_eq!( 30 ::std::mem::align_of::<i>(), 31 8usize, 32 concat!("Alignment of ", stringify!(i)) 33 ); 34 assert_eq!( 35 unsafe { ::std::ptr::addr_of!((*ptr).j) as usize - ptr as usize }, 36 0usize, 37 concat!("Offset of field: ", stringify!(i), "::", stringify!(j)) 38 ); 39 assert_eq!( 40 unsafe { ::std::ptr::addr_of!((*ptr).k) as usize - ptr as usize }, 41 8usize, 42 concat!("Offset of field: ", stringify!(i), "::", stringify!(k)) 43 ); 44 assert_eq!( 45 unsafe { ::std::ptr::addr_of!((*ptr).l) as usize - ptr as usize }, 46 16usize, 47 concat!("Offset of field: ", stringify!(i), "::", stringify!(l)) 48 ); 49 } 50 impl Default for i { default() -> Self51 fn default() -> Self { 52 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 53 unsafe { 54 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 55 s.assume_init() 56 } 57 } 58 } 59 #[repr(C)] 60 #[derive(Debug, Copy, Clone)] 61 pub struct d { 62 pub m: root::i, 63 } 64 #[test] bindgen_test_layout_d()65 fn bindgen_test_layout_d() { 66 const UNINIT: ::std::mem::MaybeUninit<d> = 67 ::std::mem::MaybeUninit::uninit(); 68 let ptr = UNINIT.as_ptr(); 69 assert_eq!( 70 ::std::mem::size_of::<d>(), 71 24usize, 72 concat!("Size of: ", stringify!(d)) 73 ); 74 assert_eq!( 75 ::std::mem::align_of::<d>(), 76 8usize, 77 concat!("Alignment of ", stringify!(d)) 78 ); 79 assert_eq!( 80 unsafe { ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize }, 81 0usize, 82 concat!("Offset of field: ", stringify!(d), "::", stringify!(m)) 83 ); 84 } 85 impl Default for d { default() -> Self86 fn default() -> Self { 87 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 88 unsafe { 89 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 90 s.assume_init() 91 } 92 } 93 } 94 #[repr(u32)] 95 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)] 96 pub enum n { 97 o = 0, 98 p = 1, 99 q = 2, 100 r = 3, 101 s = 4, 102 t = 5, 103 b = 6, 104 ae = 7, 105 e = 8, 106 ag = 9, 107 ah = 10, 108 ai = 11, 109 } 110 #[repr(C)] 111 pub struct F { 112 pub w: [u64; 33usize], 113 } 114 #[test] bindgen_test_layout_F()115 fn bindgen_test_layout_F() { 116 const UNINIT: ::std::mem::MaybeUninit<F> = 117 ::std::mem::MaybeUninit::uninit(); 118 let ptr = UNINIT.as_ptr(); 119 assert_eq!( 120 ::std::mem::size_of::<F>(), 121 264usize, 122 concat!("Size of: ", stringify!(F)) 123 ); 124 assert_eq!( 125 ::std::mem::align_of::<F>(), 126 8usize, 127 concat!("Alignment of ", stringify!(F)) 128 ); 129 assert_eq!( 130 unsafe { ::std::ptr::addr_of!((*ptr).w) as usize - ptr as usize }, 131 0usize, 132 concat!("Offset of field: ", stringify!(F), "::", stringify!(w)) 133 ); 134 } 135 impl Default for F { default() -> Self136 fn default() -> Self { 137 let mut s = ::std::mem::MaybeUninit::<Self>::uninit(); 138 unsafe { 139 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1); 140 s.assume_init() 141 } 142 } 143 } 144 } 145