summaryrefslogtreecommitdiff
path: root/test cases/rust
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/rust')
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/bar-0.1-rs/Cargo.toml4
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/common-0-rs.wrap2
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/common-0-rs/Cargo.toml12
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/common-0-rs/lib.rs4
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/extra-dep-1-rs/Cargo.toml3
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/extra-dep-1-rs/meson.build2
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/foo-0-rs/Cargo.toml4
-rw-r--r--test cases/rust/22 cargo subproject/subprojects/foo-0-rs/lib.rs3
8 files changed, 32 insertions, 2 deletions
diff --git a/test cases/rust/22 cargo subproject/subprojects/bar-0.1-rs/Cargo.toml b/test cases/rust/22 cargo subproject/subprojects/bar-0.1-rs/Cargo.toml
index d60a5d8f1..c0f7ffd8d 100644
--- a/test cases/rust/22 cargo subproject/subprojects/bar-0.1-rs/Cargo.toml
+++ b/test cases/rust/22 cargo subproject/subprojects/bar-0.1-rs/Cargo.toml
@@ -8,6 +8,10 @@ version = "0.1"
optional = true
version = "1.0"
+[dependencies.common]
+version = "0.0.1"
+features = ["f2"]
+
[features]
default = ["f2"]
f1 = []
diff --git a/test cases/rust/22 cargo subproject/subprojects/common-0-rs.wrap b/test cases/rust/22 cargo subproject/subprojects/common-0-rs.wrap
new file mode 100644
index 000000000..99686e90e
--- /dev/null
+++ b/test cases/rust/22 cargo subproject/subprojects/common-0-rs.wrap
@@ -0,0 +1,2 @@
+[wrap-file]
+method = cargo
diff --git a/test cases/rust/22 cargo subproject/subprojects/common-0-rs/Cargo.toml b/test cases/rust/22 cargo subproject/subprojects/common-0-rs/Cargo.toml
new file mode 100644
index 000000000..b22e1accf
--- /dev/null
+++ b/test cases/rust/22 cargo subproject/subprojects/common-0-rs/Cargo.toml
@@ -0,0 +1,12 @@
+[package]
+name = "common"
+version = "0.0.1"
+edition = "2021"
+
+[lib]
+crate-type = ["rlib"]
+path = "lib.rs"
+
+[features]
+f1 = []
+f2 = []
diff --git a/test cases/rust/22 cargo subproject/subprojects/common-0-rs/lib.rs b/test cases/rust/22 cargo subproject/subprojects/common-0-rs/lib.rs
new file mode 100644
index 000000000..a7adf8f62
--- /dev/null
+++ b/test cases/rust/22 cargo subproject/subprojects/common-0-rs/lib.rs
@@ -0,0 +1,4 @@
+#[cfg(all(feature = "f1", feature = "f2"))]
+pub fn common_func() -> i32 {
+ 0
+}
diff --git a/test cases/rust/22 cargo subproject/subprojects/extra-dep-1-rs/Cargo.toml b/test cases/rust/22 cargo subproject/subprojects/extra-dep-1-rs/Cargo.toml
new file mode 100644
index 000000000..4b6fa5777
--- /dev/null
+++ b/test cases/rust/22 cargo subproject/subprojects/extra-dep-1-rs/Cargo.toml
@@ -0,0 +1,3 @@
+[package]
+name = "extra-deps"
+version = "1.0"
diff --git a/test cases/rust/22 cargo subproject/subprojects/extra-dep-1-rs/meson.build b/test cases/rust/22 cargo subproject/subprojects/extra-dep-1-rs/meson.build
index 40d109b2d..b5ca43951 100644
--- a/test cases/rust/22 cargo subproject/subprojects/extra-dep-1-rs/meson.build
+++ b/test cases/rust/22 cargo subproject/subprojects/extra-dep-1-rs/meson.build
@@ -1,7 +1,5 @@
project('extra dep', 'c', version: '1.0')
-assert(get_option('feature-default') == true)
-
l = static_library('extra-dep', 'lib.c')
d = declare_dependency(link_with: l,
variables: {
diff --git a/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/Cargo.toml b/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/Cargo.toml
index 0f0225d06..858efa4dd 100644
--- a/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/Cargo.toml
+++ b/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/Cargo.toml
@@ -20,6 +20,10 @@ version = "1.0"
[dependencies]
mybar = { version = "0.1", package = "bar", default-features = false }
+[dependencies.common]
+version = "0.0.1"
+features = ["f1"]
+
[features]
default = ["f1"]
f1 = ["f2", "f3"]
diff --git a/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/lib.rs b/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/lib.rs
index 1c8cbc9d3..a1a976a80 100644
--- a/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/lib.rs
+++ b/test cases/rust/22 cargo subproject/subprojects/foo-0-rs/lib.rs
@@ -1,3 +1,5 @@
+extern crate common;
+
extern "C" {
fn extra_func() -> i32;
}
@@ -5,6 +7,7 @@ extern "C" {
#[cfg(feature = "foo")]
#[no_mangle]
pub extern "C" fn rust_func() -> i32 {
+ assert!(common::common_func() == 0);
let v: i32;
unsafe {
v = extra_func();