1// $G $D/import2.go && $G $D/$F.go
2
3// NOTE: This test is not run by 'run.go' and so not run by all.bash.
4// To run this test you must use the ./run shell script.
5
6// Copyright 2010 The Go Authors.  All rights reserved.
7// Use of this source code is governed by a BSD-style
8// license that can be found in the LICENSE file.
9
10// Test that all the types from import2.go made it
11// intact and with the same meaning, by assigning to or using them.
12
13package main
14
15import "./import2"
16
17func f3(func() func() int)
18
19func main() {
20	p.F3(p.F1)
21	p.F3(p.F2())
22	f3(p.F1)
23	f3(p.F2())
24
25	p.C1 = (chan<- (chan int))(nil)
26	p.C2 = (chan (<-chan int))(nil)
27	p.C3 = (<-chan (chan int))(nil)
28	p.C4 = (chan (chan<- int))(nil)
29
30	p.C5 = (<-chan (<-chan int))(nil)
31	p.C6 = (chan<- (<-chan int))(nil)
32	p.C7 = (chan<- (chan<- int))(nil)
33
34	p.C8 = (<-chan (<-chan (chan int)))(nil)
35	p.C9 = (<-chan (chan<- (chan int)))(nil)
36	p.C10 = (chan<- (<-chan (chan int)))(nil)
37	p.C11 = (chan<- (chan<- (chan int)))(nil)
38	p.C12 = (chan (chan<- (<-chan int)))(nil)
39	p.C13 = (chan (chan<- (chan<- int)))(nil)
40
41	p.R1 = (chan <- chan int)(nil)
42	p.R3 = (<- chan chan int)(nil)
43	p.R4 = (chan chan <- int)(nil)
44
45	p.R5 = (<- chan <- chan int)(nil)
46	p.R6 = (chan <- <- chan int)(nil)
47	p.R7 = (chan <- chan <- int)(nil)
48
49	p.R8 = (<- chan <- chan chan int)(nil)
50	p.R9 = (<- chan chan <- chan int)(nil)
51	p.R10 = (chan <- <- chan chan int)(nil)
52	p.R11 = (chan <- chan <- chan int)(nil)
53	p.R12 = (chan chan <- <- chan int)(nil)
54	p.R13 = (chan chan <- chan <- int)(nil)
55
56}
57
58