mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
34 lines
432 B
Go
34 lines
432 B
Go
|
|
// 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) {}
|