From aa5861917ac2543f85bf4cfefbb69cf501d4de41 Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Mon, 26 Jan 2026 18:44:29 +0100 Subject: fix: improve multi assign Do not consider assign operators in expression handling, they are part of statements. Isolate parsing of left hand side and right hand side in assignments. --- vm/vm.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'vm/vm.go') diff --git a/vm/vm.go b/vm/vm.go index fac1a53..f5bb78e 100644 --- a/vm/vm.go +++ b/vm/vm.go @@ -150,8 +150,7 @@ func (m *Machine) Run() (err error) { case Deref: mem[sp-1].Value = mem[sp-1].Value.Elem() case Dup: - k := c.Arg[0] - mem = append(mem, mem[k]) + mem = append(mem, mem[c.Arg[0]]) case New: mem[c.Arg[0]+fp-1] = NewValue(mem[c.Arg[1]].Type) case Equal: -- cgit v1.2.3