3 // Copyright 2010 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.
7 // Test case for issue 849.
20 func (t *T) f() { callee = "f" }
21 func (i *T) g() { callee = "g" }
23 // test1 and test2 are the same except that in the interface J
24 // the entries are swapped. test2 and test3 are the same except
25 // that in test3 the interface J is declared outside the function.
27 // Error: test2 calls g instead of f
36 println("test1 called", callee)
48 println("test2 called", callee)
61 println("test3 called", callee)
72 panic("wrong method called")
77 6g bug286.go && 6l bug286.6 && 6.out
79 panic: wrong method called
82 runtime.panic+0x7c /home/gri/go1/src/pkg/runtime/proc.c:1012
83 runtime.panic(0x0, 0x24e0a0)
84 main.main+0xef /home/gri/go1/test/bugs/bug286.go:76
86 mainstart+0xf /home/gri/go1/src/pkg/runtime/amd64/asm.s:60
88 goexit /home/gri/go1/src/pkg/runtime/proc.c:145