1
2
3
4
5 package methodsets
6
7 type T0 struct {}
8
9 func (T0) v0() {}
10 func (*T0) p0() {}
11
12 type T1 struct {}
13
14 func (T1) v1() {}
15 func (*T1) p1() {}
16
17 type T2 interface {
18 v2()
19 p2()
20 }
21
22 type T3 struct {
23 T0
24 *T1
25 T2
26 }
27
28
29 func _() {
30 var (
31 _ func(T0) = T0.v0
32 _ = T0.p0
33
34 _ func (*T0) = (*T0).v0
35 _ func (*T0) = (*T0).p0
36
37
38
39 _ func(T2) = T2.v2
40 _ func(T2) = T2.p2
41
42 _ func(T3) = T3.v0
43 _ func(T3) = T3.p0
44 _ func(T3) = T3.v1
45 _ func(T3) = T3.p1
46 _ func(T3) = T3.v2
47 _ func(T3) = T3.p2
48
49 _ func(*T3) = (*T3).v0
50 _ func(*T3) = (*T3).p0
51 _ func(*T3) = (*T3).v1
52 _ func(*T3) = (*T3).p1
53 _ func(*T3) = (*T3).v2
54 _ func(*T3) = (*T3).p2
55 )
56 }
57
58
59 func _() {
60 var (
61 v0 T0
62 _ func() = v0.v0
63 _ func() = v0.p0
64 )
65
66 var (
67 p0 *T0
68 _ func() = p0.v0
69 _ func() = p0.p0
70 )
71
72
73
74 var (
75 v2 T2
76 _ func() = v2.v2
77 _ func() = v2.p2
78 )
79
80 var (
81 v4 T3
82 _ func() = v4.v0
83 _ func() = v4.p0
84 _ func() = v4.v1
85 _ func() = v4.p1
86 _ func() = v4.v2
87 _ func() = v4.p2
88 )
89
90 var (
91 p4 *T3
92 _ func() = p4.v0
93 _ func() = p4.p0
94 _ func() = p4.v1
95 _ func() = p4.p1
96 _ func() = p4.v2
97 _ func() = p4.p2
98 )
99 }
100
101
102 func _() {
103 var v0 T0
104 v0.v0()
105 v0.p0()
106
107 var p0 *T0
108 p0.v0()
109 p0.p0()
110
111
112
113 var v2 T2
114 v2.v2()
115 v2.p2()
116
117 var v4 T3
118 v4.v0()
119 v4.p0()
120 v4.v1()
121 v4.p1()
122 v4.v2()
123 v4.p2()
124
125 var p4 *T3
126 p4.v0()
127 p4.p0()
128 p4.v1()
129 p4.p1()
130 p4.v2()
131 p4.p2()
132 }
133
134
135 func _() {
136 var (
137 _ func() = T0{}.v0
138 _ func() = T0{}.p0
139
140 _ func() = (&T0{}).v0
141 _ func() = (&T0{}).p0
142
143
144
145
146
147 _ func() = T3{}.v0
148 _ func() = T3{}.p0
149 _ func() = T3{}.v1
150 _ func() = T3{}.p1
151 _ func() = T3{}.v2
152 _ func() = T3{}.p2
153
154 _ func() = (&T3{}).v0
155 _ func() = (&T3{}).p0
156 _ func() = (&T3{}).v1
157 _ func() = (&T3{}).p1
158 _ func() = (&T3{}).v2
159 _ func() = (&T3{}).p2
160 )
161 }
162
163
164 func _() {
165 T0{}.v0()
166 T0{}.p0 ()
167
168 (&T0{}).v0()
169 (&T0{}).p0()
170
171
172
173
174
175 T3{}.v0()
176 T3{}.p0 ()
177 T3{}.v1()
178 T3{}.p1()
179 T3{}.v2()
180 T3{}.p2()
181
182 (&T3{}).v0()
183 (&T3{}).p0()
184 (&T3{}).v1()
185 (&T3{}).p1()
186 (&T3{}).v2()
187 (&T3{}).p2()
188 }
189
190
191 func issue5918() {
192 var (
193 err error
194 _ = err.Error()
195 _ func() string = err.Error
196 _ func(error) string = error.Error
197
198 perr = &err
199 _ = perr.Error ()
200 _ func() string = perr.Error
201 _ func(*error) string = (*error).Error
202 )
203
204 type T *interface{ m() int }
205 var (
206 x T
207 _ = (*x).m()
208 _ = (*x).m
209
210 _ = x.m ()
211 _ = x.m
212 _ = T.m
213 )
214 }
215
View as plain text