about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2016-03-11 15:36:24 -0500
committerNiko Matsakis <niko@alum.mit.edu>2016-03-25 06:45:42 -0400
commit73b4f06b83fd7a7ab4bcc9bf2ac97844f3b27df5 (patch)
tree96b2a41ac5d03be73443c46d74b23c0ec3160662
parentf69eb8efbe5dbc373426bf0ff021b49f37db41cb (diff)
downloadrust-73b4f06b83fd7a7ab4bcc9bf2ac97844f3b27df5.tar.gz
rust-73b4f06b83fd7a7ab4bcc9bf2ac97844f3b27df5.zip
suppress duplicate lints
-rw-r--r--src/librustc/session/mod.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/librustc/session/mod.rs b/src/librustc/session/mod.rs
index b198eda1812..e0982656c69 100644
--- a/src/librustc/session/mod.rs
+++ b/src/librustc/session/mod.rs
@@ -246,7 +246,13 @@ impl Session {
         let lint_id = lint::LintId::of(lint);
         let mut lints = self.lints.borrow_mut();
         match lints.get_mut(&id) {
-            Some(arr) => { arr.push((lint_id, sp, msg)); return; }
+            Some(arr) => {
+                let tuple = (lint_id, sp, msg);
+                if !arr.contains(&tuple) {
+                    arr.push(tuple);
+                }
+                return;
+            }
             None => {}
         }
         lints.insert(id, vec!((lint_id, sp, msg)));