| // errorcheck | |
| // 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. | |
| // selector expression resolves incorrectly for defined | |
| // pointer types. | |
| package main | |
| type E struct{ f int } | |
| type T struct{ E } | |
| func (*T) f() int { return 0 } | |
| type P *T | |
| type PP **T | |
| func main() { | |
| var x P | |
| _ = x.f // ERROR "x\.f undefined \(type P has no field or method f\)" | |
| var y PP | |
| _ = y.f // ERROR "y\.f undefined \(type PP has no field or method f\)" | |
| } |