From 13a0ed4eaea0852cc83079125f82b7e36b6683e2 Mon Sep 17 00:00:00 2001 From: teoxoy <28601907+teoxoy@users.noreply.github.com> Date: Thu, 5 Oct 2023 03:05:52 +0200 Subject: [PATCH] [const-eval] evaluate `BinaryOperator::Modulo` correctly (use the truncated version instead of floored) --- src/proc/constant_evaluator.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/proc/constant_evaluator.rs b/src/proc/constant_evaluator.rs index d4e4acd8df..b3c63e8e48 100644 --- a/src/proc/constant_evaluator.rs +++ b/src/proc/constant_evaluator.rs @@ -1027,7 +1027,7 @@ impl<'a> ConstantEvaluator<'a> { BinaryOperator::Subtract => a - b, BinaryOperator::Multiply => a * b, BinaryOperator::Divide => a / b, - BinaryOperator::Modulo => a - b * (a / b).floor(), + BinaryOperator::Modulo => a % b, _ => return Err(ConstantEvaluatorError::InvalidBinaryOpArgs), }), (Literal::Bool(a), Literal::Bool(b)) => Literal::Bool(match op {