summaryrefslogtreecommitdiff
path: root/test/func5.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/func5.go')
-rw-r--r--test/func5.go89
1 files changed, 0 insertions, 89 deletions
diff --git a/test/func5.go b/test/func5.go
deleted file mode 100644
index e27825c2b..000000000
--- a/test/func5.go
+++ /dev/null
@@ -1,89 +0,0 @@
-// $G $D/$F.go && $L $F.$A && ./$A.out
-
-// 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 caller(f func(int, int) int, a, b int, c chan int) {
- c <- f(a, b)
-}
-
-func gocall(f func(int, int) int, a, b int) int {
- c := make(chan int)
- go caller(f, a, b, c)
- return <-c
-}
-
-func call(f func(int, int) int, a, b int) int {
- return f(a, b)
-}
-
-func call1(f func(int, int) int, a, b int) int {
- return call(f, a, b)
-}
-
-var f func(int, int) int
-
-func add(x, y int) int {
- return x + y
-}
-
-func fn() func(int, int) int {
- return f
-}
-
-var fc func(int, int, chan int)
-
-func addc(x, y int, c chan int) {
- c <- x+y
-}
-
-func fnc() func(int, int, chan int) {
- return fc
-}
-
-func three(x int) {
- if x != 3 {
- println("wrong val", x)
- panic("fail")
- }
-}
-
-var notmain func()
-
-func emptyresults() {}
-func noresults() {}
-
-var nothing func()
-
-func main() {
- three(call(add, 1, 2))
- three(call1(add, 1, 2))
- f = add
- three(call(f, 1, 2))
- three(call1(f, 1, 2))
- three(call(fn(), 1, 2))
- three(call1(fn(), 1, 2))
- three(call(func(a, b int) int { return a + b }, 1, 2))
- three(call1(func(a, b int) int { return a + b }, 1, 2))
-
- fc = addc
- c := make(chan int)
- go addc(1, 2, c)
- three(<-c)
- go fc(1, 2, c)
- three(<-c)
- go fnc()(1, 2, c)
- three(<-c)
- go func(a, b int, c chan int) { c <- a+b }(1, 2, c)
- three(<-c)
-
- emptyresults()
- noresults()
- nothing = emptyresults
- nothing()
- nothing = noresults
- nothing()
-}