summaryrefslogtreecommitdiffstats
path: root/tests/rust/nonzero.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rust/nonzero.rs')
-rw-r--r--tests/rust/nonzero.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/rust/nonzero.rs b/tests/rust/nonzero.rs
new file mode 100644
index 0000000..9bc2cde
--- /dev/null
+++ b/tests/rust/nonzero.rs
@@ -0,0 +1,30 @@
+use std::num::*;
+
+#[repr(C)]
+pub struct NonZeroTest {
+ pub a: NonZeroU8,
+ pub b: NonZeroU16,
+ pub c: NonZeroU32,
+ pub d: NonZeroU64,
+ pub e: NonZeroI8,
+ pub f: NonZeroI16,
+ pub g: NonZeroI32,
+ pub h: NonZeroI64,
+ pub i: Option<NonZeroI64>,
+ pub j: *const Option<Option<NonZeroI64>>,
+}
+
+#[no_mangle]
+pub extern "C" fn root(
+ test: NonZeroTest,
+ a: NonZeroU8,
+ b: NonZeroU16,
+ c: NonZeroU32,
+ d: NonZeroU64,
+ e: NonZeroI8,
+ f: NonZeroI16,
+ g: NonZeroI32,
+ h: NonZeroI64,
+ i: Option<NonZeroI64>,
+ j: *const Option<Option<NonZeroI64>>,
+) {}