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"