Used checked next in require

This commit is contained in:
Erin 2022-03-20 02:20:55 +01:00 committed by ondra05
parent 77c201476b
commit 04b44fb01e

View file

@ -120,11 +120,10 @@ impl<'source> Parser<'source> {
}
/// Require next item to be equal with expected one
fn require(&mut self, expected: Token) -> Result<(), Error> {
match self.lexer.next() {
Some(t) if t == expected => Ok(()),
Some(t) => Err(Error::new(ErrorKind::UnexpectedToken(t), self.lexer.span())),
None => Err(Error::unexpected_eof(self.lexer.span().start)),
fn require(&mut self, required: Token) -> Result<(), Error> {
match self.checked_next()? {
t if t == required => Ok(()),
t => Err(Error::new(ErrorKind::UnexpectedToken(t), self.lexer.span())),
}
}
@ -176,7 +175,7 @@ impl<'source> Parser<'source> {
})),
start..self.lexer.span().end,
)),
Token::LeftBracket => match buf.take() {
Some(buf) => Ok(Expr::new(
self.index_flow(buf)?,