summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/expectations/tests/const-const-mut-ptr.rs32
-rw-r--r--tests/headers/const-const-mut-ptr.h3
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;
+};