3 // Copyright 2013 The Go Authors. All rights reserved.
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file.
7 // Issue 4909: compiler incorrectly accepts unsafe.Offsetof(t.x)
8 // where x is a field of an embedded pointer field.
21 func (t T) Method() {}
30 const N1 = unsafe.Offsetof(t.X) // ERROR "indirection"
31 const N2 = unsafe.Offsetof(p.X) // ERROR "indirection"
32 const N3 = unsafe.Offsetof(t.B.X) // valid
33 const N4 = unsafe.Offsetof(p.B.X) // valid
34 const N5 = unsafe.Offsetof(t.Method) // ERROR "method value"
35 const N6 = unsafe.Offsetof(p.Method) // ERROR "method value"