1// errorcheck 2 3// Copyright 2009 The Go Authors. All rights reserved. 4// 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) 10var c2 chan <- chan int = (chan (<-chan int))(nil) // ERROR "chan|incompatible" 11var 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) 26var r2 chan (<-chan int) = (chan <- chan int)(nil) // ERROR "chan|incompatible" 27var 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) 40