// run package main import ( "fmt" "strings" ) func main() { defer func() { err := recover() txt := fmt.Sprintf("%s", err) if !strings.HasSuffix(txt, "with length 1") { panic("bad error: " + txt) } }() foo([]uint64{0}) } //go:noinline func foo(haystack []uint64) { for n := range len(haystack) { _ = n _ = haystack[1] } xxx := haystack[0:len(haystack)] sink(xxx) } //go:noinline func sink([]uint64) {}