From #63337 (comment)
The following code should be using the common list parsing utilities:
|
while self.token != token::CloseDelim(token::Paren) { |
|
es.push(match self.parse_expr() { |
|
Ok(es) => es, |
|
Err(err) => { |
|
// recover from parse error in tuple list |
|
return Ok(self.recover_seq_parse_error(token::Paren, lo, Err(err))); |
|
} |
|
}); |
|
recovered = self.expect_one_of( |
|
&[], |
|
&[token::Comma, token::CloseDelim(token::Paren)], |
|
)?; |
|
if self.eat(&token::Comma) { |
|
trailing_comma = true; |
|
} else { |
|
trailing_comma = false; |
|
break; |
|
} |
|
} |
CC @Centril
From #63337 (comment)
The following code should be using the common list parsing utilities:
rust/src/libsyntax/parse/parser.rs
Lines 2052 to 2070 in 2d1a551
CC @Centril