text: // run
  
  // 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 main
  
  import "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 int
  
  var global T
  
  func 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 <- 1
  	return 0, ""
  }
  