diff --git a/source/ona/kym/Chunk.zig b/source/ona/kym/Chunk.zig index 7f4cdd2..d3fd37b 100644 --- a/source/ona/kym/Chunk.zig +++ b/source/ona/kym/Chunk.zig @@ -378,6 +378,10 @@ fn execute(self: *Self, env: *kym.RuntimeEnv) kym.RuntimeError!?*kym.RuntimeRef }, .set_dynamic => { + const value_ref = try env.pop_local(); + + defer env.discard(value_ref); + const index_ref = try env.pop_local() orelse { return env.raise(error.TypeMismatch, "nil is not a valid index"); }; @@ -390,10 +394,6 @@ fn execute(self: *Self, env: *kym.RuntimeEnv) kym.RuntimeError!?*kym.RuntimeRef defer env.discard(indexable_ref); - const value_ref = try env.pop_local(); - - defer env.discard(value_ref); - try env.set_dynamic(try kym.unbox_dynamic(env, indexable_ref), index_ref, value_ref); },