diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-18 05:39:07 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-18 05:39:07 +0000 |
commit | af6b8ed095f88f1df2116cdc7a9d44872cfa6074 (patch) | |
tree | 1f2df671c1f8033d5ed83f056167a0911f8d2a57 /tests/rust/cdecl.rs | |
parent | Initial commit. (diff) | |
download | rust-cbindgen-upstream.tar.xz rust-cbindgen-upstream.zip |
Adding upstream version 0.26.0.upstream/0.26.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/rust/cdecl.rs')
-rw-r--r-- | tests/rust/cdecl.rs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/rust/cdecl.rs b/tests/rust/cdecl.rs new file mode 100644 index 0000000..399de8f --- /dev/null +++ b/tests/rust/cdecl.rs @@ -0,0 +1,41 @@ +type A = fn (); +type B = fn () -> (); +type C = fn (i32, i32) -> bool; +type D = fn (i32) -> fn (f32) -> bool; +type E = fn () -> *const [i32; 16]; + +type F = *const i32; +type G = *const *const i32; +type H = *const *mut i32; +type I = *const [i32; 16]; +type J = *const fn (f32) -> f64; + +type K = [i32; 16]; +type L = [*const i32; 16]; +type M = [fn (i32, i32) -> bool; 16]; +type N = [fn (i32, i32) -> (); 16]; + +#[no_mangle] +pub extern "C" fn O() -> fn () +{ } + +type P = fn (named1st: i32, bool, named3rd: bool, _: i32); + +#[no_mangle] +pub extern "C" fn root( + a: A, + b: B, + c: C, + d: D, + e: E, + f: F, + g: G, + h: H, + i: I, + j: J, + k: K, + l: L, + m: M, + n: N, + p: P +) { } |