fix(go): simplify execPrim call, remove unnecessary recover closure

This commit is contained in:
allaun 2026-06-30 18:15:40 -05:00
parent 3e50e292ba
commit 59a236db73

View file

@ -204,13 +204,8 @@ func Step(s State, prog []Instr) (*State, error) {
var b Val var b Val
if arity >= 2 { b = stack[len(stack)-1]; stack = stack[:len(stack)-1] } if arity >= 2 { b = stack[len(stack)-1]; stack = stack[:len(stack)-1] }
a := stack[len(stack)-1]; stack = stack[:len(stack)-1] a := stack[len(stack)-1]; stack = stack[:len(stack)-1]
r, err := func() (Val, error) { r, execErr := execPrim(p, a, b)
defer func() { if execErr != nil { return nil, execErr }
if r := recover(); r != nil { err = errors.New("runtime error in execPrim") }
}()
return execPrim(p, a, b)
}()
if err != nil { return nil, err }
stack = append(stack, r) stack = append(stack, r)
case Halt: case Halt:
s.Halted = true s.Halted = true