Browse Source

Replace conditional with match

pull/95/head
Garrit Franke 1 month ago
parent
commit
89db67df16
No known key found for this signature in database
GPG Key ID: A28BC0D6B31A2673
  1. 30
      src/parser/rules.rs

30
src/parser/rules.rs

@ -160,21 +160,21 @@ impl Parser {
};
let peeked_kind = self.peek()?.kind;
let body = if peeked_kind == TokenKind::CurlyBracesOpen {
self.parse_block()?
} else if peeked_kind == TokenKind::Assign {
self.parse_inline_function()?
} else {
let token = self.peek()?;
let mut error = self.make_error_msg(
token.pos,
format!("Expected `{{` or `=`, got {}", token.raw),
);
let hint = self.make_hint_msg(format!(
"Try the following:\nfn {name}(...) = expression\nOr\nfn {name}(...) {{ ... }}"
));
error.push_str(&hint);
return Err(error);
let body = match peeked_kind {
TokenKind::CurlyBracesOpen => self.parse_block()?,
TokenKind::Assign => self.parse_inline_function()?,
_ => {
let token = self.peek()?;
let mut error = self.make_error_msg(
token.pos,
format!("Expected `{{` or `=`, got {}", token.raw),
);
let hint = self.make_hint_msg(format!(
"Try the following:\nfn {name}(...) = expression\nOr\nfn {name}(...) {{ ... }}"
));
error.push_str(&hint);
return Err(error);
}
};
Ok(Function {

Loading…
Cancel
Save