about summary refs log tree commit diff
path: root/src/librustc_errors/lib.rs
diff options
context:
space:
mode:
authorRafael Fernández López <ereslibre@ereslibre.es>2018-01-02 20:00:12 +0100
committerRafael Fernández López <ereslibre@ereslibre.es>2018-01-03 00:42:12 +0100
commit063607eecbbdff53ee0cbc4b3f9a8ff49448f741 (patch)
treeb9afbec5a28b4b2165f8895e7211ed369ae84d9e /src/librustc_errors/lib.rs
parent687d3d15ba726dbb1ac6b85223ebe0e98c6820cc (diff)
downloadrust-063607eecbbdff53ee0cbc4b3f9a8ff49448f741.tar.gz
rust-063607eecbbdff53ee0cbc4b3f9a8ff49448f741.zip
Only bump error count when we are sure that the diagnostic is not a repetition.
This ensures that if we emit the same diagnostic twice, the error count will
match the real number of errors shown to the user.

Fixes #42106
Diffstat (limited to 'src/librustc_errors/lib.rs')
-rw-r--r--src/librustc_errors/lib.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/librustc_errors/lib.rs b/src/librustc_errors/lib.rs
index 2ac49958d3c..c4db39fae86 100644
--- a/src/librustc_errors/lib.rs
+++ b/src/librustc_errors/lib.rs
@@ -588,6 +588,9 @@ impl Handler {
         // one:
         if self.emitted_diagnostics.borrow_mut().insert(diagnostic_hash) {
             self.emitter.borrow_mut().emit(db);
+            if db.is_error() {
+                self.bump_err_count();
+            }
         }
     }
 }