1 #![allow(
2 dead_code,
3 non_snake_case,
4 non_camel_case_types,
5 non_upper_case_globals
6 )]
7
8 pub type Char = ::std::os::raw::c_char;
9 pub type SChar = ::std::os::raw::c_schar;
10 pub type UChar = ::std::os::raw::c_uchar;
11 #[repr(C)]
12 #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
13 pub struct Test {
14 pub ch: ::std::os::raw::c_char,
15 pub u: ::std::os::raw::c_uchar,
16 pub d: ::std::os::raw::c_schar,
17 pub cch: ::std::os::raw::c_char,
18 pub cu: ::std::os::raw::c_uchar,
19 pub cd: ::std::os::raw::c_schar,
20 pub Cch: Char,
21 pub Cu: UChar,
22 pub Cd: SChar,
23 pub Ccch: Char,
24 pub Ccu: UChar,
25 pub Ccd: SChar,
26 }
27 #[test]
bindgen_test_layout_Testnull28 fn bindgen_test_layout_Test() {
29 const UNINIT: ::std::mem::MaybeUninit<Test> =
30 ::std::mem::MaybeUninit::uninit();
31 let ptr = UNINIT.as_ptr();
32 assert_eq!(
33 ::std::mem::size_of::<Test>(),
34 12usize,
35 concat!("Size of: ", stringify!(Test))
36 );
37 assert_eq!(
38 ::std::mem::align_of::<Test>(),
39 1usize,
40 concat!("Alignment of ", stringify!(Test))
41 );
42 assert_eq!(
43 unsafe { ::std::ptr::addr_of!((*ptr).ch) as usize - ptr as usize },
44 0usize,
45 concat!("Offset of field: ", stringify!(Test), "::", stringify!(ch))
46 );
47 assert_eq!(
48 unsafe { ::std::ptr::addr_of!((*ptr).u) as usize - ptr as usize },
49 1usize,
50 concat!("Offset of field: ", stringify!(Test), "::", stringify!(u))
51 );
52 assert_eq!(
53 unsafe { ::std::ptr::addr_of!((*ptr).d) as usize - ptr as usize },
54 2usize,
55 concat!("Offset of field: ", stringify!(Test), "::", stringify!(d))
56 );
57 assert_eq!(
58 unsafe { ::std::ptr::addr_of!((*ptr).cch) as usize - ptr as usize },
59 3usize,
60 concat!("Offset of field: ", stringify!(Test), "::", stringify!(cch))
61 );
62 assert_eq!(
63 unsafe { ::std::ptr::addr_of!((*ptr).cu) as usize - ptr as usize },
64 4usize,
65 concat!("Offset of field: ", stringify!(Test), "::", stringify!(cu))
66 );
67 assert_eq!(
68 unsafe { ::std::ptr::addr_of!((*ptr).cd) as usize - ptr as usize },
69 5usize,
70 concat!("Offset of field: ", stringify!(Test), "::", stringify!(cd))
71 );
72 assert_eq!(
73 unsafe { ::std::ptr::addr_of!((*ptr).Cch) as usize - ptr as usize },
74 6usize,
75 concat!("Offset of field: ", stringify!(Test), "::", stringify!(Cch))
76 );
77 assert_eq!(
78 unsafe { ::std::ptr::addr_of!((*ptr).Cu) as usize - ptr as usize },
79 7usize,
80 concat!("Offset of field: ", stringify!(Test), "::", stringify!(Cu))
81 );
82 assert_eq!(
83 unsafe { ::std::ptr::addr_of!((*ptr).Cd) as usize - ptr as usize },
84 8usize,
85 concat!("Offset of field: ", stringify!(Test), "::", stringify!(Cd))
86 );
87 assert_eq!(
88 unsafe { ::std::ptr::addr_of!((*ptr).Ccch) as usize - ptr as usize },
89 9usize,
90 concat!(
91 "Offset of field: ",
92 stringify!(Test),
93 "::",
94 stringify!(Ccch)
95 )
96 );
97 assert_eq!(
98 unsafe { ::std::ptr::addr_of!((*ptr).Ccu) as usize - ptr as usize },
99 10usize,
100 concat!("Offset of field: ", stringify!(Test), "::", stringify!(Ccu))
101 );
102 assert_eq!(
103 unsafe { ::std::ptr::addr_of!((*ptr).Ccd) as usize - ptr as usize },
104 11usize,
105 concat!("Offset of field: ", stringify!(Test), "::", stringify!(Ccd))
106 );
107 }
108