URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [fixedbugs/] [bug243.go] - Rev 700
Compare with Previous | Blame | View Log
// $G $D/$F.go && $L $F.$A && ./$A.out// Copyright 2010 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 mainimport "errors"// Issue 481: closures and var declarations// with multiple variables assigned from one// function call.func main() {var listen, _ = Listen("tcp", "127.0.0.1:0")go func() {for {var conn, _ = listen.Accept()_ = conn}}()var conn, _ = Dial("tcp", "", listen.Addr().Error())_ = conn}// Simulated net interface to exercise bug// without involving a real network.type T chan intvar global Tfunc Listen(x, y string) (T, string) {global = make(chan int)return global, y}func (t T) Addr() error {return errors.New("stringer")}func (t T) Accept() (int, string) {return <-t, ""}func Dial(x, y, z string) (int, string) {global <- 1return 0, ""}
