diff options
| author | Ian Lance Taylor <iant@golang.org> | 2008-12-30 15:03:46 -0800 |
|---|---|---|
| committer | Ian Lance Taylor <iant@golang.org> | 2008-12-30 15:03:46 -0800 |
| commit | e6e8b16faf717a5f4dba30e7cc24f45e0d1df262 (patch) | |
| tree | 92c22900928c9ae0628240ec22fe9a7271782088 | |
| parent | b29f4ef6f879c21955ac3c6c94b4e285971a1fa2 (diff) | |
| download | golang-e6e8b16faf717a5f4dba30e7cc24f45e0d1df262.tar.gz | |
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
| -rw-r--r-- | test/bugs/bug130.go | 20 | ||||
| -rw-r--r-- | test/golden.out | 4 |
2 files changed, 24 insertions, 0 deletions
diff --git a/test/bugs/bug130.go b/test/bugs/bug130.go new file mode 100644 index 000000000..6e189ca5c --- /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 feb0a4566..50b957f12 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 |
