// errchk $G $D/$F.go // Copyright 2009 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. // Error messages about missing implicit methods. package main type T int func (t T) V() func (t *T) P() type V interface { V() } type P interface { P(); V() } type S struct { T; } type SP struct { *T; } func main() { var t T; var v V; var p P; var s S; var sp SP; v = t; p = t; // ERROR "is not|requires a pointer" _, _= v, p; v = &t; p = &t; _, _= v, p; v = s; p = s; // ERROR "is not|requires a pointer" _, _= v, p; v = &s; p = &s; _, _= v, p; v = sp; p = sp; // no error! _, _= v, p; v = &sp; p = &sp; _, _= v, p; }