Closed rogpeppe closed 2 years ago
@rsc The parallel execution introduced by #84 doesn't seem to guard against the possibility of legitimate exceptions such as division by zero.
For example:
% ivy 1 / 200 6 rho 0 panic: division by zero goroutine 46 [running]: robpike.io/ivy/value.Errorf(...) /home/rogpeppe/src/go/src/github.com/rsc/ivy/value/value.go:49 robpike.io/ivy/value.init.0.func13({0x57cd88?, 0x543509?}, {0x57cce8?, 0xc000126400?}, {0x57cce8?, 0xc000126440?}) /home/rogpeppe/src/go/src/github.com/rsc/ivy/value/binary.go:277 +0xab robpike.io/ivy/value.(*binaryOp).EvalBinary(0xc0001242a0, {0x57cab8, 0xc000125260}, {0x57cd88, 0x632148}, {0x57cd88, 0x632140}) /home/rogpeppe/src/go/src/github.com/rsc/ivy/value/eval.go:112 +0x2a8 robpike.io/ivy/exec.(*Context).EvalBinary(0xc000125260, {0x57cd88, 0x632148}, {0x543509, 0x1}, {0x57cd88, 0x632140}) /home/rogpeppe/src/go/src/github.com/rsc/ivy/exec/context.go:172 +0x189 robpike.io/ivy/value.binaryMatrixOp.func1(0x0?, 0x4b0) /home/rogpeppe/src/go/src/github.com/rsc/ivy/value/eval.go:597 +0xfb robpike.io/ivy/value.pfor.func1() /home/rogpeppe/src/go/src/github.com/rsc/ivy/value/eval.go:188 +0x67 created by robpike.io/ivy/value.pfor /home/rogpeppe/src/go/src/github.com/rsc/ivy/value/eval.go:186 +0x107
Fixed in #104, thanks.
@rsc The parallel execution introduced by #84 doesn't seem to guard against the possibility of legitimate exceptions such as division by zero.
For example: