From: Ximin Luo Date: Thu, 15 Mar 2018 15:17:55 +0000 (+0100) Subject: Fix need_dev_deps to return false during a default `cargo build` run X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~22^2~2^2~23^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=89d5161d8e13a3b973cdb09b0f179a82c3c2749a;p=cargo.git Fix need_dev_deps to return false during a default `cargo build` run - Also add a mode param to need_dev_deps to make clear the intent --- diff --git a/src/cargo/ops/cargo_compile.rs b/src/cargo/ops/cargo_compile.rs index 4a63b1b23..9d3643653 100644 --- a/src/cargo/ops/cargo_compile.rs +++ b/src/cargo/ops/cargo_compile.rs @@ -246,7 +246,7 @@ pub fn compile_ws<'a>( let specs = spec.into_package_id_specs(ws)?; let features = Method::split_features(features); let method = Method::Required { - dev_deps: ws.require_optional_deps() || filter.need_dev_deps(), + dev_deps: ws.require_optional_deps() || filter.need_dev_deps(mode), features: &features, all_features, uses_default_features: !no_default_features, @@ -442,15 +442,19 @@ impl CompileFilter { } } - pub fn need_dev_deps(&self) -> bool { - match *self { - CompileFilter::Default { .. } => true, - CompileFilter::Only { - ref examples, - ref tests, - ref benches, - .. - } => examples.is_specific() || tests.is_specific() || benches.is_specific(), + pub fn need_dev_deps(&self, mode: CompileMode) -> bool { + match mode { + CompileMode::Test | CompileMode::Doctest | CompileMode::Bench => true, + CompileMode::Build | CompileMode::Doc { .. } | CompileMode::Check { .. } => match *self + { + CompileFilter::Default { .. } => false, + CompileFilter::Only { + ref examples, + ref tests, + ref benches, + .. + } => examples.is_specific() || tests.is_specific() || benches.is_specific(), + }, } }