summaryrefslogtreecommitdiff
path: root/test cases/rust/31 rust.workspace package/subprojects/answer-2.1
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2025-10-17 14:45:07 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2025-12-22 11:58:30 +0100
commit646593856800c55f44fe2b15991570737709a36e (patch)
treefca53f863fa98c9e3053d2285681f3e7dc5b7adc /test cases/rust/31 rust.workspace package/subprojects/answer-2.1
parentd1ea846b6bbb5cbf09d8e9707707c40af3cf7c92 (diff)
downloadmeson-646593856800c55f44fe2b15991570737709a36e.tar.gz
rust: add rust.workspace() skeleton implementation
rust.workspace() is the entry point for global feature resolution. It loads a Cargo.toml file and ensures that all dependencies will be built with the correct set of features. Fixes: #13404 Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'test cases/rust/31 rust.workspace package/subprojects/answer-2.1')
-rw-r--r--test cases/rust/31 rust.workspace package/subprojects/answer-2.1/Cargo.toml10
-rw-r--r--test cases/rust/31 rust.workspace package/subprojects/answer-2.1/meson.build7
-rw-r--r--test cases/rust/31 rust.workspace package/subprojects/answer-2.1/src/lib.rs10
3 files changed, 27 insertions, 0 deletions
diff --git a/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/Cargo.toml b/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/Cargo.toml
new file mode 100644
index 000000000..b87782264
--- /dev/null
+++ b/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/Cargo.toml
@@ -0,0 +1,10 @@
+[package]
+name = "answer"
+version = "2.1.0"
+edition = "2021"
+
+[lib]
+crate-type = ["lib"]
+
+[features]
+large = []
diff --git a/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/meson.build b/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/meson.build
new file mode 100644
index 000000000..dc7df4bba
--- /dev/null
+++ b/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/meson.build
@@ -0,0 +1,7 @@
+project('answer', 'rust', default_options: ['rust_std=2021'])
+
+rust = import('rust')
+
+l = static_library('answer', 'src/lib.rs')
+dep = declare_dependency(link_with: l)
+meson.override_dependency('answer-2-rs', dep)
diff --git a/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/src/lib.rs b/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/src/lib.rs
new file mode 100644
index 000000000..b7a721b05
--- /dev/null
+++ b/test cases/rust/31 rust.workspace package/subprojects/answer-2.1/src/lib.rs
@@ -0,0 +1,10 @@
+pub fn answer() -> u8
+{
+ 42
+}
+
+#[cfg(feature = "large")]
+pub fn large_answer() -> u64
+{
+ 42
+}