| // compile | |
| // Copyright 2019 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 p | |
| type hasPtrs struct { | |
| x [2]*int | |
| // Note: array size needs to be >1 to force this type to be not SSAable. | |
| // The bug triggers only for OpMove, which is only used for unSSAable types. | |
| } | |
| func main() { | |
| var x *hasPtrs // Can be local, global, or arg; nil or non-nil. | |
| var y *hasPtrs = nil // Must initialize to nil. | |
| *x = *y | |
| } |