blob: ec9699a894ef034e790d87f4ba8d78e2cc916bf1 [file] [log] [blame]
Russ Cox80803842012-02-16 23:49:59 -05001// errorcheck
Russ Cox7abb4b32010-01-26 10:40:28 -08002
Emmanuel Odeke53fd5222016-04-10 14:32:26 -07003// Copyright 2009 The Go Authors. All rights reserved.
Russ Cox7abb4b32010-01-26 10:40:28 -08004// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
7package main
8
9var c1 chan <- chan int = (chan<- (chan int))(nil)
Ian Lance Taylord00210f2010-02-01 23:27:33 -080010var c2 chan <- chan int = (chan (<-chan int))(nil) // ERROR "chan|incompatible"
Russ Cox7abb4b32010-01-26 10:40:28 -080011var c3 <- chan chan int = (<-chan (chan int))(nil)
12var c4 chan chan <- int = (chan (chan<- int))(nil)
13
14var c5 <- chan <- chan int = (<-chan (<-chan int))(nil)
15var c6 chan <- <- chan int = (chan<- (<-chan int))(nil)
16var c7 chan <- chan <- int = (chan<- (chan<- int))(nil)
17
18var c8 <- chan <- chan chan int = (<-chan (<-chan (chan int)))(nil)
19var c9 <- chan chan <- chan int = (<-chan (chan<- (chan int)))(nil)
20var c10 chan <- <- chan chan int = (chan<- (<-chan (chan int)))(nil)
21var c11 chan <- chan <- chan int = (chan<- (chan<- (chan int)))(nil)
22var c12 chan chan <- <- chan int = (chan (chan<- (<-chan int)))(nil)
23var c13 chan chan <- chan <- int = (chan (chan<- (chan<- int)))(nil)
24
25var r1 chan<- (chan int) = (chan <- chan int)(nil)
Ian Lance Taylord00210f2010-02-01 23:27:33 -080026var r2 chan (<-chan int) = (chan <- chan int)(nil) // ERROR "chan|incompatible"
Russ Cox7abb4b32010-01-26 10:40:28 -080027var r3 <-chan (chan int) = (<- chan chan int)(nil)
28var r4 chan (chan<- int) = (chan chan <- int)(nil)
29
30var r5 <-chan (<-chan int) = (<- chan <- chan int)(nil)
31var r6 chan<- (<-chan int) = (chan <- <- chan int)(nil)
32var r7 chan<- (chan<- int) = (chan <- chan <- int)(nil)
33
34var r8 <-chan (<-chan (chan int)) = (<- chan <- chan chan int)(nil)
35var r9 <-chan (chan<- (chan int)) = (<- chan chan <- chan int)(nil)
36var r10 chan<- (<-chan (chan int)) = (chan <- <- chan chan int)(nil)
37var r11 chan<- (chan<- (chan int)) = (chan <- chan <- chan int)(nil)
38var r12 chan (chan<- (<-chan int)) = (chan chan <- <- chan int)(nil)
39var r13 chan (chan<- (chan<- int)) = (chan chan <- chan <- int)(nil)