Skip to content

Commit

Permalink
Do not underflow after resetting unmatched braces count
Browse files Browse the repository at this point in the history
Fix #58638.
  • Loading branch information
estebank committed Feb 22, 2019
1 parent f47ec2a commit cc1cd83
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions src/libsyntax/parse/parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1184,8 +1184,10 @@ impl<'a> Parser<'a> {
match ate {
Some(_) => {
// See doc comment for `unmatched_angle_bracket_count`.
self.unmatched_angle_bracket_count -= 1;
debug!("expect_gt: (decrement) count={:?}", self.unmatched_angle_bracket_count);
if self.unmatched_angle_bracket_count > 0 {
self.unmatched_angle_bracket_count -= 1;
debug!("expect_gt: (decrement) count={:?}", self.unmatched_angle_bracket_count);
}

Ok(())
},
Expand Down Expand Up @@ -2248,8 +2250,10 @@ impl<'a> Parser<'a> {

// See doc comment for `unmatched_angle_bracket_count`.
self.expect(&token::Gt)?;
self.unmatched_angle_bracket_count -= 1;
debug!("parse_qpath: (decrement) count={:?}", self.unmatched_angle_bracket_count);
if self.unmatched_angle_bracket_count > 0 {
self.unmatched_angle_bracket_count -= 1;
debug!("parse_qpath: (decrement) count={:?}", self.unmatched_angle_bracket_count);
}

self.expect(&token::ModSep)?;

Expand Down

0 comments on commit cc1cd83

Please sign in to comment.