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