Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.0.0-20201028153306-37f0764111ff / go / internal / gccgoimporter / testdata / aliases.go
1 package aliases
2
3 type (
4         T0 [10]int
5         T1 []byte
6         T2 struct {
7                 x int
8         }
9         T3 interface {
10                 m() T2
11         }
12         T4 func(int, T0) chan T2
13 )
14
15 // basic aliases
16 type (
17         Ai = int
18         A0 = T0
19         A1 = T1
20         A2 = T2
21         A3 = T3
22         A4 = T4
23
24         A10 = [10]int
25         A11 = []byte
26         A12 = struct {
27                 x int
28         }
29         A13 = interface {
30                 m() A2
31         }
32         A14 = func(int, A0) chan A2
33 )
34
35 // alias receiver types
36 func (T0) m1() {}
37 func (A0) m2() {}
38
39 // alias receiver types (long type declaration chains)
40 type (
41         V0 = V1
42         V1 = (V2)
43         V2 = (V3)
44         V3 = T0
45 )
46
47 func (V1) n() {}
48
49 // cycles
50 type C0 struct {
51         f1 C1
52         f2 C2
53 }
54
55 type (
56         C1 *C0
57         C2 = C1
58 )
59
60 type (
61         C5 struct {
62                 f *C6
63         }
64         C6 = C5
65 )