| // 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. |
| |
| // Test case for https://golang.org/issue/692 |
| |
| package main |
| |
| var fooCount = 0 |
| var barCount = 0 |
| var balCount = 0 |
| |
| func foo() (int, int) { |
| fooCount++ |
| return 0, 0 |
| } |
| |
| func bar() (int, int) { |
| barCount++ |
| return 0, 0 |
| } |
| |
| func bal() (int, int) { |
| balCount++ |
| return 0, 0 |
| } |
| |
| var a, b = foo() // foo is called once |
| var c, _ = bar() // bar is called twice |
| var _, _ = bal() // bal is called twice |
| |
| func main() { |
| if fooCount != 1 { |
| panic("fooCount != 1") |
| } |
| if barCount != 1 { |
| panic("barCount != 1") |
| } |
| if balCount != 1 { |
| panic("balCount != 1") |
| } |
| } |