|  | // run | 
|  |  | 
|  | // Copyright 2011 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 "io" | 
|  |  | 
|  | func f() (_ string, x float64, err error) { | 
|  | return | 
|  | } | 
|  |  | 
|  | func g() (_ string, x float64, err error) { | 
|  | return "hello", 3.14, io.EOF | 
|  | } | 
|  |  | 
|  | var _ func() (string, float64, error) = f | 
|  | var _ func() (string, float64, error) = g | 
|  |  | 
|  | func main() { | 
|  | x, y, z := g() | 
|  | if x != "hello" || y != 3.14 || z != io.EOF { | 
|  | println("wrong", x, len(x), y, z) | 
|  | } | 
|  | } | 
|  |  | 
|  | /* | 
|  | issue 1712 | 
|  |  | 
|  | bug331.go:12: cannot use "hello" (type string) as type float64 in assignment | 
|  | bug331.go:12: cannot use 0 (type float64) as type os.Error in assignment: | 
|  | float64 does not implement os.Error (missing String method) | 
|  | bug331.go:12: error in shape across RETURN | 
|  | */ |