diff options
| author | Martin Haug <mhaug@live.de> | 2020-08-27 20:56:44 +0200 |
|---|---|---|
| committer | Martin Haug <mhaug@live.de> | 2020-08-27 20:56:44 +0200 |
| commit | c099b8b9b453485d85d1bc85b5402cc43886bf14 (patch) | |
| tree | 01d4e84f61e44939cccf7207c79541f1c616b209 /src/syntax | |
| parent | 3abb9ec3194cb6613f399551b1888da5d7b16454 (diff) | |
Fixing the regression 🩹
Diffstat (limited to 'src/syntax')
| -rw-r--r-- | src/syntax/parsing.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/syntax/parsing.rs b/src/syntax/parsing.rs index 1c531cbd..7d3da63e 100644 --- a/src/syntax/parsing.rs +++ b/src/syntax/parsing.rs @@ -431,23 +431,23 @@ impl Parser<'_> { // Parsing primitives. impl<'s> Parser<'s> { - fn start_group(&mut self, delimiter: Group) { + fn start_group(&mut self, group: Group) { let start = self.pos(); - if let Some(start_token) = delimiter.start() { + if let Some(start_token) = group.start() { self.assert(start_token); } - self.delimiters.push((start, delimiter.end())); + self.delimiters.push((start, group.end())); } fn end_group(&mut self) -> Span { + let peeked = self.peek(); + let (start, end_token) = self.delimiters.pop() .expect("group was not started"); - if end_token != Token::Chain { - if self.peek() != None { - self.delimiters.push((start, end_token)); - assert_eq!(self.peek(), None, "unfinished group"); - } + if end_token != Token::Chain && peeked != None { + self.delimiters.push((start, end_token)); + assert_eq!(peeked, None, "unfinished group"); } match self.peeked.unwrap() { |
