fix(tazjin/rlox): Fix selection of next parser precedence rule

Without this fix we would keep parsing in the same precedence level
and get weird things like:

    10 - -10 + 10
    => 10

Change-Id: If2bed4569fbf566027011037165a9b3c09b7427c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2567
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
This commit is contained in:
Vincent Ambo 2021-02-28 13:01:02 +02:00 committed by tazjin
parent 995d024f03
commit 47c1a9a280

View file

@ -166,7 +166,7 @@ impl<T: Iterator<Item = Token>> Compiler<T> {
// Compile the right operand
let rule: ParseRule<T> = rule_for(&operator);
self.parse_precedence(rule.precedence)?;
self.parse_precedence(rule.precedence.next())?;
// Emit operator instruction
match operator {