Source file
test/convert2.go
1
2
3
4
5
6
7
8
9
10 package main
11
12 type I interface {
13 m()
14 }
15
16
17
18 func _() {
19 type S struct{}
20 type T struct{}
21 var s S
22 var t T
23 var u struct{}
24 s = s
25 s = t
26 s = u
27 s = S(s)
28 s = S(t)
29 s = S(u)
30 t = u
31 t = T(u)
32 }
33
34 func _() {
35 type S struct{ x int }
36 type T struct {
37 x int "foo"
38 }
39 var s S
40 var t T
41 var u struct {
42 x int "bar"
43 }
44 s = s
45 s = t
46 s = u
47 s = S(s)
48 s = S(t)
49 s = S(u)
50 t = u
51 t = T(u)
52 }
53
54 func _() {
55 type E struct{ x int }
56 type S struct{ x E }
57 type T struct {
58 x E "foo"
59 }
60 var s S
61 var t T
62 var u struct {
63 x E "bar"
64 }
65 s = s
66 s = t
67 s = u
68 s = S(s)
69 s = S(t)
70 s = S(u)
71 t = u
72 t = T(u)
73 }
74
75 func _() {
76 type S struct {
77 x struct {
78 x int "foo"
79 }
80 }
81 type T struct {
82 x struct {
83 x int "bar"
84 } "foo"
85 }
86 var s S
87 var t T
88 var u struct {
89 x struct {
90 x int "bar"
91 } "bar"
92 }
93 s = s
94 s = t
95 s = u
96 s = S(s)
97 s = S(t)
98 s = S(u)
99 t = u
100 t = T(u)
101 }
102
103 func _() {
104 type E1 struct {
105 x int "foo"
106 }
107 type E2 struct {
108 x int "bar"
109 }
110 type S struct{ x E1 }
111 type T struct {
112 x E2 "foo"
113 }
114 var s S
115 var t T
116 var u struct {
117 x E2 "bar"
118 }
119 s = s
120 s = t
121 s = u
122 s = S(s)
123 s = S(t)
124 s = S(u)
125 t = u
126 t = T(u)
127 }
128
129 func _() {
130 type E struct{ x int }
131 type S struct {
132 f func(struct {
133 x int "foo"
134 })
135 }
136 type T struct {
137 f func(struct {
138 x int "bar"
139 })
140 }
141 var s S
142 var t T
143 var u struct{ f func(E) }
144 s = s
145 s = t
146 s = u
147 s = S(s)
148 s = S(t)
149 s = S(u)
150 t = u
151 t = T(u)
152 }
153
154
155
156 func _() {
157 type S struct{}
158 type T struct{}
159 var s *S
160 var t *T
161 var u *struct{}
162 s = s
163 s = t
164 s = u
165 s = (*S)(s)
166 s = (*S)(t)
167 s = (*S)(u)
168 t = u
169 t = (*T)(u)
170 }
171
172 func _() {
173 type S struct{ x int }
174 type T struct {
175 x int "foo"
176 }
177 var s *S
178 var t *T
179 var u *struct {
180 x int "bar"
181 }
182 s = s
183 s = t
184 s = u
185 s = (*S)(s)
186 s = (*S)(t)
187 s = (*S)(u)
188 t = u
189 t = (*T)(u)
190 }
191
192 func _() {
193 type E struct{ x int }
194 type S struct{ x E }
195 type T struct {
196 x E "foo"
197 }
198 var s *S
199 var t *T
200 var u *struct {
201 x E "bar"
202 }
203 s = s
204 s = t
205 s = u
206 s = (*S)(s)
207 s = (*S)(t)
208 s = (*S)(u)
209 t = u
210 t = (*T)(u)
211 }
212
213 func _() {
214 type S struct {
215 x struct {
216 x int "foo"
217 }
218 }
219 type T struct {
220 x struct {
221 x int "bar"
222 } "foo"
223 }
224 var s *S
225 var t *T
226 var u *struct {
227 x struct {
228 x int "bar"
229 } "bar"
230 }
231 s = s
232 s = t
233 s = u
234 s = (*S)(s)
235 s = (*S)(t)
236 s = (*S)(u)
237 t = u
238 t = (*T)(u)
239 }
240
241 func _() {
242 type E1 struct {
243 x int "foo"
244 }
245 type E2 struct {
246 x int "bar"
247 }
248 type S struct{ x E1 }
249 type T struct {
250 x E2 "foo"
251 }
252 var s *S
253 var t *T
254 var u *struct {
255 x E2 "bar"
256 }
257 s = s
258 s = t
259 s = u
260 s = (*S)(s)
261 s = (*S)(t)
262 s = (*S)(u)
263 t = u
264 t = (*T)(u)
265 }
266
267 func _() {
268 type E struct{ x int }
269 type S struct {
270 f func(struct {
271 x int "foo"
272 })
273 }
274 type T struct {
275 f func(struct {
276 x int "bar"
277 })
278 }
279 var s *S
280 var t *T
281 var u *struct{ f func(E) }
282 s = s
283 s = t
284 s = u
285 s = (*S)(s)
286 s = (*S)(t)
287 s = (*S)(u)
288 t = u
289 t = (*T)(u)
290 }
291
292 func _() {
293 type E struct{ x int }
294 type S struct {
295 f func(*struct {
296 x int "foo"
297 })
298 }
299 type T struct {
300 f func(*struct {
301 x int "bar"
302 })
303 }
304 var s *S
305 var t *T
306 var u *struct{ f func(E) }
307 s = s
308 s = t
309 s = u
310 s = (*S)(s)
311 s = (*S)(t)
312 s = (*S)(u)
313 t = u
314 t = (*T)(u)
315 }
316
317 func _() {
318 var s []byte
319 _ = ([4]byte)(s)
320 _ = (*[4]byte)(s)
321
322 type A [4]byte
323 _ = (A)(s)
324 _ = (*A)(s)
325
326 type P *[4]byte
327 _ = (P)(s)
328 _ = (*P)(s)
329 }
330
View as plain text