diff options
| author | Jeremy Fitzhardinge <jeremy@goop.org> | 2022-04-16 17:11:33 -0700 |
|---|---|---|
| committer | Jeremy Fitzhardinge <jsgf@fb.com> | 2022-04-27 10:04:25 -0700 |
| commit | c6bafa7322943643f37f8818bcb16dad28f53d26 (patch) | |
| tree | f63e5f8cebd10d74580c65a758ca222076936efe /compiler/rustc_metadata/src/creader.rs | |
| parent | 0529a13b5db43952a88504fb16fd561adbcdcc14 (diff) | |
| download | rust-c6bafa7322943643f37f8818bcb16dad28f53d26.tar.gz rust-c6bafa7322943643f37f8818bcb16dad28f53d26.zip | |
Add --json unused-externs-silent with original behaviour
Since Cargo wants to do its own fatal error handling for unused dependencies, add the option `--json unused-externs-silent` which has the original behaviour of not indicating non-zero exit status for `deny`/`forbid`-level unused dependencies.
Diffstat (limited to 'compiler/rustc_metadata/src/creader.rs')
| -rw-r--r-- | compiler/rustc_metadata/src/creader.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/compiler/rustc_metadata/src/creader.rs b/compiler/rustc_metadata/src/creader.rs index 5ef89ce618e..3c545e6a0d2 100644 --- a/compiler/rustc_metadata/src/creader.rs +++ b/compiler/rustc_metadata/src/creader.rs @@ -195,10 +195,12 @@ impl CStore { } pub fn report_unused_deps(&self, tcx: TyCtxt<'_>) { + let json_unused_externs = tcx.sess.opts.json_unused_externs; + // We put the check for the option before the lint_level_at_node call // because the call mutates internal state and introducing it // leads to some ui tests failing. - if !tcx.sess.opts.json_unused_externs { + if !json_unused_externs.is_enabled() { return; } let level = tcx @@ -208,7 +210,11 @@ impl CStore { let unused_externs = self.unused_externs.iter().map(|ident| ident.to_ident_string()).collect::<Vec<_>>(); let unused_externs = unused_externs.iter().map(String::as_str).collect::<Vec<&str>>(); - tcx.sess.parse_sess.span_diagnostic.emit_unused_externs(level, &unused_externs); + tcx.sess.parse_sess.span_diagnostic.emit_unused_externs( + level, + json_unused_externs.is_loud(), + &unused_externs, + ); } } } @@ -914,7 +920,7 @@ impl<'a> CrateLoader<'a> { } // Got a real unused --extern - if self.sess.opts.json_unused_externs { + if self.sess.opts.json_unused_externs.is_enabled() { self.cstore.unused_externs.push(name_interned); continue; } |
