diff options
Diffstat (limited to 'tests/rust/function_args.rs')
-rw-r--r-- | tests/rust/function_args.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/rust/function_args.rs b/tests/rust/function_args.rs new file mode 100644 index 0000000..52a6a23 --- /dev/null +++ b/tests/rust/function_args.rs @@ -0,0 +1,25 @@ +#[no_mangle] +pub unsafe extern fn array_print(a: &[u64]) { + eprintln!("{:?}", a); +} + +#[no_mangle] +pub unsafe extern fn array_test(a: [u64; 3]) { + array_print(&a); +} + +#[no_mangle] +pub unsafe extern fn unnamed(_: *const u64) { +} + +#[no_mangle] +pub unsafe extern fn pointer_test(a: *const u64) { + let a = std::slice::from_raw_parts(a, 3); + array_print(a); +} + +#[no_mangle] +pub unsafe extern fn print_from_rust() { + let a = [0, 1, 2]; + array_print(&a); +} |