1 // Regression: only slice-to-array-pointer conversions are rejected. 2 // A pointer-to-array pun is a *ssa.Convert over a pointer, not a 3 // *ssa.SliceToArrayPointer over a slice, and stays legal. 4 package main 5 6 import "unsafe" 7 8 func main() { 9 var x uint64 = 0x0102030405060708 10 b := (*[8]byte)(unsafe.Pointer(&x)) 11 if int32(b[0]) != 8 { 12 panic("pun read the wrong byte") 13 } 14 } 15