| // $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: bug331 | |
| // 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 "os" | |
| func f() (_ string, x float64, err os.Error) { | |
| return | |
| } | |
| func g() (_ string, x float64, err os.Error) { | |
| return "hello", 3.14, os.EOF | |
| } | |
| var _ func() (string, float64, os.Error) = f | |
| var _ func() (string, float64, os.Error) = g | |
| func main() { | |
| x, y, z := g() | |
| if x != "hello" || y != 3.14 || z != os.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 | |
| */ |