github.com/xushiwei/go@v0.0.0-20130601165731-2b9d83f45bc9/test/fixedbugs/bug117.go (about) 1 // errorcheck 2 3 // Copyright 2009 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. 6 7 package main 8 9 type S struct { 10 a int 11 } 12 type PS *S 13 14 func (p *S) get() int { 15 return p.a 16 } 17 18 func fn(p PS) int { 19 // p has type PS, and PS has no methods. 20 // (a compiler might see that p is a pointer 21 // and go looking in S without noticing PS.) 22 return p.get() // ERROR "undefined" 23 } 24 func main() { 25 s := S{1} 26 if s.get() != 1 { 27 panic("fail") 28 } 29 }