|  | // 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\)" | 
|  | } |