From f9512ff822b6b1dcd22bf1641f9fde727f79af44 Mon Sep 17 00:00:00 2001 From: Aaron Hill Date: Sun, 14 Mar 2021 15:45:54 -0400 Subject: [PATCH] Emit note when `--future-incompat-report` had nothing to report --- src/cargo/core/compiler/job_queue.rs | 13 ++++++++++--- tests/testsuite/future_incompat_report.rs | 17 +++++++++++++++++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/cargo/core/compiler/job_queue.rs b/src/cargo/core/compiler/job_queue.rs index cf8f74f9acf..066cb59927a 100644 --- a/src/cargo/core/compiler/job_queue.rs +++ b/src/cargo/core/compiler/job_queue.rs @@ -807,9 +807,16 @@ impl<'cfg> DrainState<'cfg> { } fn emit_future_incompat(&mut self, cx: &mut Context<'_, '_>) { - if cx.bcx.config.cli_unstable().enable_future_incompat_feature - && !self.per_crate_future_incompat_reports.is_empty() - { + if cx.bcx.config.cli_unstable().enable_future_incompat_feature { + if self.per_crate_future_incompat_reports.is_empty() { + drop( + cx.bcx + .config + .shell() + .note("0 dependencies had future-incompat warnings"), + ); + return; + } self.per_crate_future_incompat_reports .sort_by_key(|r| r.package_id); diff --git a/tests/testsuite/future_incompat_report.rs b/tests/testsuite/future_incompat_report.rs index 403c8566e38..e4af6db0c87 100644 --- a/tests/testsuite/future_incompat_report.rs +++ b/tests/testsuite/future_incompat_report.rs @@ -51,6 +51,23 @@ fn gate_future_incompat_report() { .run(); } +#[cargo_test] +fn test_zero_future_incompat() { + if !is_nightly() { + return; + } + + let p = project() + .file("Cargo.toml", &basic_manifest("foo", "0.0.0")) + .file("src/main.rs", "fn main() {}") + .build(); + + p.cargo("build --future-incompat-report -Z unstable-options -Z future-incompat-report") + .masquerade_as_nightly_cargo() + .with_stderr_contains("note: 0 dependencies had future-incompat warnings") + .run(); +} + #[cargo_test] fn test_single_crate() { if !is_nightly() {