diff options
| -rw-r--r-- | test cases/rust/3 staticlib/meson.build | 3 | ||||
| -rw-r--r-- | test cases/rust/3 staticlib/prog2.rs | 5 | ||||
| -rw-r--r-- | test cases/rust/3 staticlib/stuff2.rs | 14 |
3 files changed, 22 insertions, 0 deletions
diff --git a/test cases/rust/3 staticlib/meson.build b/test cases/rust/3 staticlib/meson.build index cf8e1032e..c577fab95 100644 --- a/test cases/rust/3 staticlib/meson.build +++ b/test cases/rust/3 staticlib/meson.build @@ -5,3 +5,6 @@ v = static_library('value', 'value.c') l = static_library('stuff', 'stuff.rs', link_whole : [o, v], install : true) e = executable('prog', 'prog.rs', link_with : l, install : true) test('linktest', e) + +l = static_library('stuff2', 'stuff2.rs', link_with : [o, v]) +e = executable('prog2', 'prog2.rs', link_with : l) diff --git a/test cases/rust/3 staticlib/prog2.rs b/test cases/rust/3 staticlib/prog2.rs new file mode 100644 index 000000000..9c25c77d5 --- /dev/null +++ b/test cases/rust/3 staticlib/prog2.rs @@ -0,0 +1,5 @@ +extern crate stuff2; + +fn main() { + println!("printing: {}", stuff2::explore()); +} diff --git a/test cases/rust/3 staticlib/stuff2.rs b/test cases/rust/3 staticlib/stuff2.rs new file mode 100644 index 000000000..5e0167ace --- /dev/null +++ b/test cases/rust/3 staticlib/stuff2.rs @@ -0,0 +1,14 @@ +#![crate_name = "stuff2"] + +extern crate other; + +extern "C" { + fn c_explore_value() -> i32; +} + +pub fn explore( +) -> String { + unsafe { + other::explore(c_explore_value()) + } +} |
