From 39f2f1846376c1522b2264069c94a19ef42ebb98 Mon Sep 17 00:00:00 2001 From: Jeremy Fitzhardinge Date: Fri, 15 Apr 2022 00:37:40 -0700 Subject: [PATCH] Make --json unused-extern deny/forbid level messages cause exit with error status Closes: https://github.com/rust-lang/rust/issues/96068 --- compiler/rustc_errors/src/lib.rs | 8 +++++++- src/test/ui/unused-crate-deps/deny-cmdline-json.rs | 2 +- src/test/ui/unused-crate-deps/deny-cmdline.rs | 2 +- src/test/ui/unused-crate-deps/warn-cmdline-json.rs | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/compiler/rustc_errors/src/lib.rs b/compiler/rustc_errors/src/lib.rs index 4e6ab0edf66..9f126d25a8d 100644 --- a/compiler/rustc_errors/src/lib.rs +++ b/compiler/rustc_errors/src/lib.rs @@ -970,7 +970,13 @@ impl Handler { } pub fn emit_unused_externs(&self, lint_level: &str, unused_externs: &[&str]) { - self.inner.borrow_mut().emit_unused_externs(lint_level, unused_externs) + let mut inner = self.inner.borrow_mut(); + + if lint_level == "deny" || lint_level == "forbid" { + inner.bump_err_count(); + } + + inner.emit_unused_externs(lint_level, unused_externs) } pub fn update_unstable_expectation_id( diff --git a/src/test/ui/unused-crate-deps/deny-cmdline-json.rs b/src/test/ui/unused-crate-deps/deny-cmdline-json.rs index 9a95780bd08..2b369dee5a0 100644 --- a/src/test/ui/unused-crate-deps/deny-cmdline-json.rs +++ b/src/test/ui/unused-crate-deps/deny-cmdline-json.rs @@ -1,4 +1,4 @@ -// Check for unused crate dep, no path +// Check for unused crate dep, json event, deny, expect compile failure // edition:2018 // compile-flags: -Dunused-crate-dependencies -Zunstable-options --json unused-externs --error-format=json diff --git a/src/test/ui/unused-crate-deps/deny-cmdline.rs b/src/test/ui/unused-crate-deps/deny-cmdline.rs index 17c6e1bf193..69e28b3319a 100644 --- a/src/test/ui/unused-crate-deps/deny-cmdline.rs +++ b/src/test/ui/unused-crate-deps/deny-cmdline.rs @@ -1,4 +1,4 @@ -// Check for unused crate dep, no path +// Check for unused crate dep, deny, expect failure // edition:2018 // compile-flags: -Dunused-crate-dependencies diff --git a/src/test/ui/unused-crate-deps/warn-cmdline-json.rs b/src/test/ui/unused-crate-deps/warn-cmdline-json.rs index a845fe6fd24..4826c0062d0 100644 --- a/src/test/ui/unused-crate-deps/warn-cmdline-json.rs +++ b/src/test/ui/unused-crate-deps/warn-cmdline-json.rs @@ -1,4 +1,4 @@ -// Check for unused crate dep, no path +// Check for unused crate dep, warn, json event, expect pass // edition:2018 // check-pass