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 7package main 8 9type S struct { 10 a int 11} 12type PS *S 13 14func (p *S) get() int { 15 return p.a 16} 17 18func 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} 24func main() { 25 s := S{1} 26 if s.get() != 1 { 27 panic("fail") 28 } 29} 30