Skip to content

Commit

Permalink
Fix overflow in rustc happening if the err_count() is reduced in a …
Browse files Browse the repository at this point in the history
…stage.

This can happen if stashed diagnostics are removed or replaced with fewer errors. The semantics stay the same if built without overflow. Fixes rust-lang#84219.
  • Loading branch information
hkratz committed Aug 4, 2021
1 parent 49ca3d9 commit 5ff06fb
Showing 1 changed file with 1 addition and 2 deletions.
3 changes: 1 addition & 2 deletions compiler/rustc_session/src/session.rs
Original file line number Diff line number Diff line change
Expand Up @@ -450,8 +450,7 @@ impl Session {
{
let old_count = self.err_count();
let result = f();
let errors = self.err_count() - old_count;
if errors == 0 { Ok(result) } else { Err(ErrorReported) }
if self.err_count() == old_count { Ok(result) } else { Err(ErrorReported) }
}
pub fn span_warn<S: Into<MultiSpan>>(&self, sp: S, msg: &str) {
self.diagnostic().span_warn(sp, msg)
Expand Down

0 comments on commit 5ff06fb

Please sign in to comment.