From 090c555d68ab9814c1a56f86f6e304e894b92d47 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Mon, 16 Dec 2024 12:09:50 -0800 Subject: [PATCH] fix default space assumption in full eval path, if not inferred from the expression itself --- src/eval/eval_bundles.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/eval/eval_bundles.c b/src/eval/eval_bundles.c index d4ade515..5cdf357c 100644 --- a/src/eval/eval_bundles.c +++ b/src/eval/eval_bundles.c @@ -11,11 +11,13 @@ e_eval_from_expr(Arena *arena, E_Expr *expr) E_OpList oplist = e_oplist_from_irtree(arena, irtree.root); String8 bytecode = e_bytecode_from_oplist(arena, &oplist); E_Interpretation interp = e_interpret(bytecode); + E_Space zero_space = {0}; + E_Space space = (MemoryMatchStruct(&zero_space, &irtree.space) ? e_interpret_ctx->primary_space : irtree.space); E_Eval eval = { .value = interp.value, .mode = irtree.mode, - .space = irtree.space, + .space = space, .expr = expr, .type_key = irtree.type_key, .code = interp.code,