diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/expectations/tests/const-const-mut-ptr.rs | 32 | ||||
-rw-r--r-- | tests/headers/const-const-mut-ptr.h | 3 |
2 files changed, 35 insertions, 0 deletions
diff --git a/tests/expectations/tests/const-const-mut-ptr.rs b/tests/expectations/tests/const-const-mut-ptr.rs new file mode 100644 index 00000000..ecfbf58f --- /dev/null +++ b/tests/expectations/tests/const-const-mut-ptr.rs @@ -0,0 +1,32 @@ +/* automatically generated by rust-bindgen */ + +#![allow(dead_code, non_snake_case, non_camel_case_types, non_upper_case_globals)] + +#[repr(C)] +#[derive(Debug, Copy, Clone)] +pub struct foo { + pub bar: *const *const *mut *const ::std::os::raw::c_int, +} +#[test] +fn bindgen_test_layout_foo() { + assert_eq!( + ::std::mem::size_of::<foo>(), + 8usize, + concat!("Size of: ", stringify!(foo)) + ); + assert_eq!( + ::std::mem::align_of::<foo>(), + 8usize, + concat!("Alignment of ", stringify!(foo)) + ); + assert_eq!( + unsafe { &(*(::std::ptr::null::<foo>())).bar as *const _ as usize }, + 0usize, + concat!("Offset of field: ", stringify!(foo), "::", stringify!(bar)) + ); +} +impl Default for foo { + fn default() -> Self { + unsafe { ::std::mem::zeroed() } + } +} diff --git a/tests/headers/const-const-mut-ptr.h b/tests/headers/const-const-mut-ptr.h new file mode 100644 index 00000000..cc7daf7c --- /dev/null +++ b/tests/headers/const-const-mut-ptr.h @@ -0,0 +1,3 @@ +struct foo { + const int** const* const* bar; +}; |