// run -gcflags="-d=checkptr" // Copyright 2021 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package main import ( "strings" "unsafe" ) func main() { defer func() { err := recover() if err == nil { panic("expected panic") } if got := err.(error).Error(); !strings.Contains(got, "slice bounds out of range") { panic("expected panic slice out of bound, got " + got) } }() s := make([]int64, 100) p := unsafe.Pointer(&s[0]) n := 1000 _ = (*[10]int64)(p)[:n:n] }