Closed runsisi closed 2 months ago
func main() { code := ` for _, v := range [1, 2, 3] { func() { print(undefined_var) }() } ` _, err := risor.Eval(context.Background(), code) if err != nil { fmt.Println(err) } }
while compiling code above panic occurs:
panic: runtime error: slice bounds out of range [:-1] goroutine 1 [running]: github.com/risor-io/risor/compiler.(*Compiler).endLoop(...) /home/runsisi/working/go/risor/compiler/compiler.go:309 github.com/risor-io/risor/compiler.(*Compiler).compileForRange.func1() /home/runsisi/working/go/risor/compiler/compiler.go:1283 +0x6b github.com/risor-io/risor/compiler.(*Compiler).compileForRange(0xc00019f080, 0xc0000c9040, {0xc0000a2260, 0x2, 0x4136fb?}, {0x9ae0b0?, 0xc0000da2c0?}) /home/runsisi/working/go/risor/compiler/compiler.go:1304 +0x502 github.com/risor-io/risor/compiler.(*Compiler).compileFor(0xc00019f080, 0xc0000c9040) /home/runsisi/working/go/risor/compiler/compiler.go:1410 +0xad4 github.com/risor-io/risor/compiler.(*Compiler).compile(0x92439b98bdc26702?, {0x9adfd0?, 0xc0000c9040?}) /home/runsisi/working/go/risor/compiler/compiler.go:181 +0x4c5
endLoop may need some bound checking ^1.
endLoop
while compiling code above panic occurs:
endLoop
may need some bound checking ^1.