diff options
author | Russ Cox <rsc@golang.org> | 2010-01-26 10:40:28 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2010-01-26 10:40:28 -0800 |
commit | b1a2356951dcb5b639299684da6bfab76fc918e4 (patch) | |
tree | 22219a93d35aeca5486a099c7e5840d03b4473ca /test/import3.go | |
parent | 246a2a1af14b65c8f8ffca9b2a4437bb8c0f799e (diff) | |
download | golang-b1a2356951dcb5b639299684da6bfab76fc918e4.tar.gz |
gc: fix chan <- chan precedence.
also allow func() func().
R=ken2
CC=golang-dev
http://codereview.appspot.com/194078
Diffstat (limited to 'test/import3.go')
-rw-r--r-- | test/import3.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/import3.go b/test/import3.go new file mode 100644 index 000000000..e4900b93d --- /dev/null +++ b/test/import3.go @@ -0,0 +1,54 @@ +// $G $D/import2.go && $G $D/$F.go + +// 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. + +// Check that all the types from import2.go made it +// intact and with the same meaning, by assigning to or using them. + +package main + +import "./import2" + +func f3(func() func() int) + +func main() { + p.F3(p.F1) + p.F3(p.F2()) + f3(p.F1) + f3(p.F2()) + + p.C1 = (chan<- (chan int))(nil) + p.C2 = (chan (<-chan int))(nil) + p.C3 = (<-chan (chan int))(nil) + p.C4 = (chan (chan<- int))(nil) + + p.C5 = (<-chan (<-chan int))(nil) + p.C6 = (chan<- (<-chan int))(nil) + p.C7 = (chan<- (chan<- int))(nil) + + p.C8 = (<-chan (<-chan (chan int)))(nil) + p.C9 = (<-chan (chan<- (chan int)))(nil) + p.C10 = (chan<- (<-chan (chan int)))(nil) + p.C11 = (chan<- (chan<- (chan int)))(nil) + p.C12 = (chan (chan<- (<-chan int)))(nil) + p.C13 = (chan (chan<- (chan<- int)))(nil) + + p.R1 = (chan <- chan int)(nil) + p.R3 = (<- chan chan int)(nil) + p.R4 = (chan chan <- int)(nil) + + p.R5 = (<- chan <- chan int)(nil) + p.R6 = (chan <- <- chan int)(nil) + p.R7 = (chan <- chan <- int)(nil) + + p.R8 = (<- chan <- chan chan int)(nil) + p.R9 = (<- chan chan <- chan int)(nil) + p.R10 = (chan <- <- chan chan int)(nil) + p.R11 = (chan <- chan <- chan int)(nil) + p.R12 = (chan chan <- <- chan int)(nil) + p.R13 = (chan chan <- chan <- int)(nil) + +} + |