diff options
| author | vagrant <vagrant@rust-lang.dev> | 2016-01-09 23:30:33 +0000 |
|---|---|---|
| committer | vagrant <vagrant@rust-lang.dev> | 2016-01-09 23:30:33 +0000 |
| commit | cd8de5426e7fa5d2a290ff1e882d25b0e0f5caff (patch) | |
| tree | cbbcc57af38a0d70300207424526f4820d145468 | |
| parent | d70ab2bdf16c22b9f3ff0230089b44855e3f1593 (diff) | |
| download | rust-cd8de5426e7fa5d2a290ff1e882d25b0e0f5caff.tar.gz rust-cd8de5426e7fa5d2a290ff1e882d25b0e0f5caff.zip | |
Show clearer error message when #![deny(warnings)] escalates a warning
Addresses #30730
| -rw-r--r-- | src/librustc/lint/context.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/librustc/lint/context.rs b/src/librustc/lint/context.rs index 08fba2dc56f..122b2ab73de 100644 --- a/src/librustc/lint/context.rs +++ b/src/librustc/lint/context.rs @@ -451,9 +451,14 @@ pub trait LintContext: Sized { fn level_src(&self, lint: &'static Lint) -> Option<LevelSource> { self.lints().levels.get(&LintId::of(lint)).map(|ls| match ls { - &(Warn, src) => { + &(Warn, _) => { let lint_id = LintId::of(builtin::WARNINGS); - (self.lints().get_level_source(lint_id).0, src) + let warn_src = self.lints().get_level_source(lint_id); + if warn_src.0 != Warn { + warn_src + } else { + *ls + } } _ => *ls }) |
