Skip to content

Commit e295a10

Browse files
committed
test(features2): test to prevent regressing of optional host deps of dep
1 parent df56877 commit e295a10

File tree

1 file changed

+71
-0
lines changed

1 file changed

+71
-0
lines changed

tests/testsuite/features2.rs

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2472,3 +2472,74 @@ fn all_features_merges_with_features() {
24722472
.with_stdout("it works")
24732473
.run();
24742474
}
2475+
2476+
#[cargo_test]
2477+
fn dep_with_optional_host_deps_activated() {
2478+
// To prevent regression like rust-lang/cargo#11330
2479+
let p = project()
2480+
.file(
2481+
"Cargo.toml",
2482+
r#"
2483+
[package]
2484+
name = "foo"
2485+
version = "0.1.0"
2486+
edition = "2021"
2487+
2488+
[dependencies]
2489+
serde = { path = "serde", features = ["derive", "build"] }
2490+
"#,
2491+
)
2492+
.file("src/lib.rs", "")
2493+
.file(
2494+
"serde/Cargo.toml",
2495+
r#"
2496+
[package]
2497+
name = "serde"
2498+
version = "0.1.0"
2499+
edition = "2021"
2500+
2501+
[dependencies]
2502+
serde_derive = { path = "../serde_derive", optional = true }
2503+
2504+
[build-dependencies]
2505+
serde_build = { path = "../serde_build", optional = true }
2506+
2507+
[features]
2508+
derive = ["dep:serde_derive"]
2509+
build = ["dep:serde_build"]
2510+
"#,
2511+
)
2512+
.file("serde/src/lib.rs", "")
2513+
.file("serde/build.rs", "fn main() {}")
2514+
.file(
2515+
"serde_derive/Cargo.toml",
2516+
r#"
2517+
[package]
2518+
name = "serde_derive"
2519+
version = "0.1.0"
2520+
edition = "2021"
2521+
2522+
[lib]
2523+
proc-macro = true
2524+
"#,
2525+
)
2526+
.file("serde_derive/src/lib.rs", "")
2527+
.file(
2528+
"serde_build/Cargo.toml",
2529+
&basic_manifest("serde_build", "0.1.0"),
2530+
)
2531+
.file("serde_build/src/lib.rs", "")
2532+
.build();
2533+
2534+
p.cargo("check")
2535+
.with_stderr(
2536+
"\
2537+
[COMPILING] serde_build v0.1.0 ([CWD]/serde_build)
2538+
[COMPILING] serde_derive v0.1.0 ([CWD]/serde_derive)
2539+
[COMPILING] serde v0.1.0 ([CWD]/serde)
2540+
[CHECKING] foo v0.1.0 ([CWD])
2541+
[FINISHED] dev [..]
2542+
",
2543+
)
2544+
.run();
2545+
}

0 commit comments

Comments
 (0)