From: Ian Lance Taylor Date: Tue, 30 Dec 2008 23:03:46 +0000 (-0800) Subject: Test for a go statement which calls a method on an interface. X-Git-Tag: weekly.2009-11-06~2452 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3f69acfb0c638f2f96cb21c2b5f8374e5cb6040d;p=gostls13.git Test for a go statement which calls a method on an interface. R=ken DELTA=20 (20 added, 0 deleted, 0 changed) OCL=21889 CL=21929 --- diff --git a/test/bugs/bug130.go b/test/bugs/bug130.go new file mode 100644 index 0000000000..6e189ca5ce --- /dev/null +++ b/test/bugs/bug130.go @@ -0,0 +1,20 @@ +// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: should run + +// 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. + +package main + +type I interface { send(chan <- int) } + +type S struct { v int } +func (p *S) send(c chan <- int) { c <- p.v } + +func main() { + s := S{0}; + var i I = &s; + c := new(chan int); + go i.send(c); + sys.exit(<-c); +} diff --git a/test/golden.out b/test/golden.out index feb0a4566e..50b957f121 100644 --- a/test/golden.out +++ b/test/golden.out @@ -157,6 +157,10 @@ BUG: errchk: command succeeded unexpectedly: 6g bugs/bug125.go bugs/bug129.go:6: syscall is package, not var BUG129 +=========== bugs/bug130.go +bugs/bug130.go:14: fatal error: getoutarg: not a func RANGE +BUG: should run + =========== fixedbugs/bug016.go fixedbugs/bug016.go:7: overflow converting constant to uint