Fixing the regression 🩹

This commit is contained in:
Martin Haug 2020-08-27 20:56:44 +02:00
parent 3abb9ec319
commit c099b8b9b4

View File

@ -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() {