diff --git a/bip/src/lib.rs b/bip/src/lib.rs index a5d0bdf..66bf8ce 100644 --- a/bip/src/lib.rs +++ b/bip/src/lib.rs @@ -221,11 +221,11 @@ impl<'a> Parser<'a> { match *self.peek()? { Symbol::Eq => { self.next(); - return Ok(Node::new(NodeOp::Assign, vec![lhs, self.parse_expr()?])); + Ok(Node::new(NodeOp::Assign, vec![lhs, self.parse_expr()?])) } Symbol::Term => { self.next(); - return Ok(lhs); + Ok(lhs) } Symbol::Id(_) | Symbol::Int(_) => { loop { @@ -238,12 +238,10 @@ impl<'a> Parser<'a> { } self.expect(Symbol::Term, ParseError::ExpectedTerm)?; self.next(); - return Ok(lhs); + Ok(lhs) } - _ => (), + _ => Err(ParseError::Eof), } - - Err(ParseError::Eof) } pub fn parse(&mut self) -> ParseResult> {