1 #![allow(
2     dead_code,
3     non_snake_case,
4     non_camel_case_types,
5     non_upper_case_globals
6 )]
7 
8 #[repr(C)]
9 #[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
10 pub struct S {
11     pub large_array: [::std::os::raw::c_char; 33usize],
12 }
13 #[test]
bindgen_test_layout_Snull14 fn bindgen_test_layout_S() {
15     const UNINIT: ::std::mem::MaybeUninit<S> =
16         ::std::mem::MaybeUninit::uninit();
17     let ptr = UNINIT.as_ptr();
18     assert_eq!(
19         ::std::mem::size_of::<S>(),
20         33usize,
21         concat!("Size of: ", stringify!(S))
22     );
23     assert_eq!(
24         ::std::mem::align_of::<S>(),
25         1usize,
26         concat!("Alignment of ", stringify!(S))
27     );
28     assert_eq!(
29         unsafe {
30             ::std::ptr::addr_of!((*ptr).large_array) as usize - ptr as usize
31         },
32         0usize,
33         concat!(
34             "Offset of field: ",
35             stringify!(S),
36             "::",
37             stringify!(large_array)
38         )
39     );
40 }
41 impl Default for S {
defaultnull42     fn default() -> Self {
43         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
44         unsafe {
45             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
46             s.assume_init()
47         }
48     }
49 }
50 #[repr(C)]
51 #[derive(Debug, Hash, PartialEq, Eq)]
52 pub struct ST<T> {
53     pub large_array: [T; 33usize],
54     pub _phantom_0: ::std::marker::PhantomData<::std::cell::UnsafeCell<T>>,
55 }
56 impl<T> Default for ST<T> {
defaultnull57     fn default() -> Self {
58         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
59         unsafe {
60             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
61             s.assume_init()
62         }
63     }
64 }
65