From af14f482f2434c713f8b75f2114d51de3e4295ab Mon Sep 17 00:00:00 2001 From: Sofia Date: Sun, 22 Mar 2026 00:34:26 +0200 Subject: [PATCH] Actually fix test for non-booleans --- src/vm/mod.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/vm/mod.rs b/src/vm/mod.rs index 73784c0..f90d97a 100644 --- a/src/vm/mod.rs +++ b/src/vm/mod.rs @@ -723,15 +723,12 @@ impl ClosureRunner { return Ok(None); } Instruction::Test(a, b, c) => { - let is_true = match self + let value = self .stack .get(b) .map(|v| v.borrow().clone()) - .unwrap_or(Value::Nil) - { - Value::Boolean(val) => (val.0 as u16) == *c, - _ => (false as u16) == *c, - }; + .unwrap_or(Value::Nil); + let is_true = (value.is_truthy() as u16) == *c; if is_true { let b = self.get_stack(*b); self.set_stack(*a, b);