From d0bdb7af5d3515da196a2f5df8e0ac50a882e517 Mon Sep 17 00:00:00 2001 From: Lloyd Date: Mon, 8 Sep 2025 02:37:41 +1000 Subject: [PATCH] =?UTF-8?q?=F0=9F=99=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/evaluator.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/backend/src/evaluator.rs b/backend/src/evaluator.rs index e69af5a..c91bc5b 100644 --- a/backend/src/evaluator.rs +++ b/backend/src/evaluator.rs @@ -60,8 +60,17 @@ fn evaluate_expr( } } Expr::Infix { op, lhs, rhs } => { - let lval = evaluate_expr(lhs, precs, grid)?; - let rval = evaluate_expr(rhs, precs, grid)?; + let mut lval = evaluate_expr(lhs, precs, grid)?; + let mut rval = evaluate_expr(rhs, precs, grid)?; + + if !matches!(op, InfixOp::RANGE) { + if let Eval::CellRef { eval, reference: _ } = lval { + lval = *eval; + } + if let Eval::CellRef { eval, reference: _ } = rval { + rval = *eval; + } + } match op { InfixOp::ADD => eval_add(&lval, &rval)?,