about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvagrant <vagrant@rust-lang.dev>2016-01-09 23:30:33 +0000
committervagrant <vagrant@rust-lang.dev>2016-01-09 23:30:33 +0000
commitcd8de5426e7fa5d2a290ff1e882d25b0e0f5caff (patch)
treecbbcc57af38a0d70300207424526f4820d145468
parentd70ab2bdf16c22b9f3ff0230089b44855e3f1593 (diff)
downloadrust-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.rs9
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
         })