From: Aleksey Kladov Date: Mon, 12 Dec 2016 14:33:12 +0000 (+0300) Subject: Warn if replace is not actually used X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~22^2~11^2~86^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=c7b3e5e95f03b769498f6c478fb28417e3c05c7b;p=cargo.git Warn if replace is not actually used closes #3324 --- diff --git a/src/cargo/ops/cargo_compile.rs b/src/cargo/ops/cargo_compile.rs index e3b22f9d8..a4c3f1c6d 100644 --- a/src/cargo/ops/cargo_compile.rs +++ b/src/cargo/ops/cargo_compile.rs @@ -163,6 +163,14 @@ pub fn resolve_dependencies<'a>(ws: &Workspace<'a>, method, Some(&resolve), None, &specs)?; + for &(ref replace_spec, _) in ws.root_replace() { + if !resolved_with_overrides.replacements().keys().any(|r| replace_spec.matches(r)) { + ws.config().shell().warn( + format!("package replacement is not used: {}", replace_spec) + )? + } + } + let packages = ops::get_resolved_packages(&resolved_with_overrides, registry); diff --git a/tests/overrides.rs b/tests/overrides.rs index d92f81791..720a03cce 100644 --- a/tests/overrides.rs +++ b/tests/overrides.rs @@ -922,6 +922,7 @@ fn overriding_nonexistent_no_spurious() { execs().with_status(0)); assert_that(p.cargo("build"), execs().with_status(0).with_stderr("\ +[WARNING] package replacement is not used: [..]bar:0.1.0 [FINISHED] [..] ").with_stdout("")); }