fix problem with negation/subtraction

This commit is contained in:
Folkert 2021-02-02 15:48:40 +01:00
parent 2def201a9a
commit 872f83680f

View file

@ -184,7 +184,8 @@ pub fn unary_op<'a>(min_indent: u16) -> impl Parser<'a, Expr<'a>> {
), ),
map_with_arena!( map_with_arena!(
and!( and!(
loc!(ascii_char(b'-')), // must backtrack to distinguish `x - 1` from `-1`
loc!(backtrackable(ascii_char(b'-'))),
loc!(move |arena, state| parse_expr(min_indent, arena, state)) loc!(move |arena, state| parse_expr(min_indent, arena, state))
), ),
|arena: &'a Bump, (loc_op, loc_expr): (Located<()>, Located<Expr<'a>>)| { |arena: &'a Bump, (loc_op, loc_expr): (Located<()>, Located<Expr<'a>>)| {