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