mirror of
https://github.com/golang/go
synced 2024-09-06 00:19:45 +00:00
![Russ Cox](/assets/img/avatar_default.png)
make f(g()) work when g returns multiple args with names different than f expects. func swap(a, b int) (c, d int) { return b, a } swap(swap(1,2)) R=ken OCL=24474 CL=24476
24 lines
386 B
Go
24 lines
386 B
Go
// $G $D/$F.go || echo BUG: compilation should succeed
|
|
|
|
// Copyright 2009 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
|
|
|
|
func
|
|
swap(x, y int) (u, v int) {
|
|
return y, x
|
|
}
|
|
|
|
func
|
|
main()
|
|
{
|
|
a := 1;
|
|
b := 2;
|
|
a, b = swap(swap(a, b));
|
|
if a != 2 || b != 1 {
|
|
panic("bad swap");
|
|
}
|
|
}
|