Skip to content

Commit 89d5161

Browse files
committed
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
1 parent 89d2748 commit 89d5161

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

src/cargo/ops/cargo_compile.rs

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ pub fn compile_ws<'a>(
246246
let specs = spec.into_package_id_specs(ws)?;
247247
let features = Method::split_features(features);
248248
let method = Method::Required {
249-
dev_deps: ws.require_optional_deps() || filter.need_dev_deps(),
249+
dev_deps: ws.require_optional_deps() || filter.need_dev_deps(mode),
250250
features: &features,
251251
all_features,
252252
uses_default_features: !no_default_features,
@@ -442,15 +442,19 @@ impl CompileFilter {
442442
}
443443
}
444444

445-
pub fn need_dev_deps(&self) -> bool {
446-
match *self {
447-
CompileFilter::Default { .. } => true,
448-
CompileFilter::Only {
449-
ref examples,
450-
ref tests,
451-
ref benches,
452-
..
453-
} => examples.is_specific() || tests.is_specific() || benches.is_specific(),
445+
pub fn need_dev_deps(&self, mode: CompileMode) -> bool {
446+
match mode {
447+
CompileMode::Test | CompileMode::Doctest | CompileMode::Bench => true,
448+
CompileMode::Build | CompileMode::Doc { .. } | CompileMode::Check { .. } => match *self
449+
{
450+
CompileFilter::Default { .. } => false,
451+
CompileFilter::Only {
452+
ref examples,
453+
ref tests,
454+
ref benches,
455+
..
456+
} => examples.is_specific() || tests.is_specific() || benches.is_specific(),
457+
},
454458
}
455459
}
456460

0 commit comments

Comments
 (0)