diff options
Diffstat (limited to 'crates/ra_hir_ty/src/tests/coercion.rs')
-rw-r--r-- | crates/ra_hir_ty/src/tests/coercion.rs | 582 |
1 files changed, 291 insertions, 291 deletions
diff --git a/crates/ra_hir_ty/src/tests/coercion.rs b/crates/ra_hir_ty/src/tests/coercion.rs index b2c971f02..e6fb3e123 100644 --- a/crates/ra_hir_ty/src/tests/coercion.rs +++ b/crates/ra_hir_ty/src/tests/coercion.rs | |||
@@ -29,10 +29,10 @@ fn test() { | |||
29 | } | 29 | } |
30 | "#), | 30 | "#), |
31 | @r###" | 31 | @r###" |
32 | [11; 41) '{ ...4 }; }': () | 32 | 11..41 '{ ...4 }; }': () |
33 | [21; 22) 'a': i32 | 33 | 21..22 'a': i32 |
34 | [30; 38) '{ 1i64 }': i64 | 34 | 30..38 '{ 1i64 }': i64 |
35 | [32; 36) '1i64': i64 | 35 | 32..36 '1i64': i64 |
36 | "###); | 36 | "###); |
37 | } | 37 | } |
38 | 38 | ||
@@ -63,50 +63,50 @@ fn test2() { | |||
63 | } | 63 | } |
64 | "#), | 64 | "#), |
65 | @r###" | 65 | @r###" |
66 | [31; 32) '_': &[T] | 66 | 31..32 '_': &[T] |
67 | [45; 56) '{ loop {} }': T | 67 | 45..56 '{ loop {} }': T |
68 | [47; 54) 'loop {}': ! | 68 | 47..54 'loop {}': ! |
69 | [52; 54) '{}': () | 69 | 52..54 '{}': () |
70 | [65; 66) '_': S<&[T]> | 70 | 65..66 '_': S<&[T]> |
71 | [82; 93) '{ loop {} }': T | 71 | 82..93 '{ loop {} }': T |
72 | [84; 91) 'loop {}': ! | 72 | 84..91 'loop {}': ! |
73 | [89; 91) '{}': () | 73 | 89..91 '{}': () |
74 | [122; 133) '{ loop {} }': *mut [T; _] | 74 | 122..133 '{ loop {} }': *mut [T; _] |
75 | [124; 131) 'loop {}': ! | 75 | 124..131 'loop {}': ! |
76 | [129; 131) '{}': () | 76 | 129..131 '{}': () |
77 | [160; 173) '{ gen() }': *mut [U] | 77 | 160..173 '{ gen() }': *mut [U] |
78 | [166; 169) 'gen': fn gen<U>() -> *mut [U; _] | 78 | 166..169 'gen': fn gen<U>() -> *mut [U; _] |
79 | [166; 171) 'gen()': *mut [U; _] | 79 | 166..171 'gen()': *mut [U; _] |
80 | [186; 420) '{ ...rr); }': () | 80 | 186..420 '{ ...rr); }': () |
81 | [196; 199) 'arr': &[u8; _] | 81 | 196..199 'arr': &[u8; _] |
82 | [212; 216) '&[1]': &[u8; _] | 82 | 212..216 '&[1]': &[u8; _] |
83 | [213; 216) '[1]': [u8; _] | 83 | 213..216 '[1]': [u8; _] |
84 | [214; 215) '1': u8 | 84 | 214..215 '1': u8 |
85 | [227; 228) 'a': &[u8] | 85 | 227..228 'a': &[u8] |
86 | [237; 240) 'arr': &[u8; _] | 86 | 237..240 'arr': &[u8; _] |
87 | [250; 251) 'b': u8 | 87 | 250..251 'b': u8 |
88 | [254; 255) 'f': fn f<u8>(&[u8]) -> u8 | 88 | 254..255 'f': fn f<u8>(&[u8]) -> u8 |
89 | [254; 260) 'f(arr)': u8 | 89 | 254..260 'f(arr)': u8 |
90 | [256; 259) 'arr': &[u8; _] | 90 | 256..259 'arr': &[u8; _] |
91 | [270; 271) 'c': &[u8] | 91 | 270..271 'c': &[u8] |
92 | [280; 287) '{ arr }': &[u8] | 92 | 280..287 '{ arr }': &[u8] |
93 | [282; 285) 'arr': &[u8; _] | 93 | 282..285 'arr': &[u8; _] |
94 | [297; 298) 'd': u8 | 94 | 297..298 'd': u8 |
95 | [301; 302) 'g': fn g<u8>(S<&[u8]>) -> u8 | 95 | 301..302 'g': fn g<u8>(S<&[u8]>) -> u8 |
96 | [301; 316) 'g(S { a: arr })': u8 | 96 | 301..316 'g(S { a: arr })': u8 |
97 | [303; 315) 'S { a: arr }': S<&[u8]> | 97 | 303..315 'S { a: arr }': S<&[u8]> |
98 | [310; 313) 'arr': &[u8; _] | 98 | 310..313 'arr': &[u8; _] |
99 | [326; 327) 'e': [&[u8]; _] | 99 | 326..327 'e': [&[u8]; _] |
100 | [341; 346) '[arr]': [&[u8]; _] | 100 | 341..346 '[arr]': [&[u8]; _] |
101 | [342; 345) 'arr': &[u8; _] | 101 | 342..345 'arr': &[u8; _] |
102 | [356; 357) 'f': [&[u8]; _] | 102 | 356..357 'f': [&[u8]; _] |
103 | [371; 379) '[arr; 2]': [&[u8]; _] | 103 | 371..379 '[arr; 2]': [&[u8]; _] |
104 | [372; 375) 'arr': &[u8; _] | 104 | 372..375 'arr': &[u8; _] |
105 | [377; 378) '2': usize | 105 | 377..378 '2': usize |
106 | [389; 390) 'g': (&[u8], &[u8]) | 106 | 389..390 'g': (&[u8], &[u8]) |
107 | [407; 417) '(arr, arr)': (&[u8], &[u8]) | 107 | 407..417 '(arr, arr)': (&[u8], &[u8]) |
108 | [408; 411) 'arr': &[u8; _] | 108 | 408..411 'arr': &[u8; _] |
109 | [413; 416) 'arr': &[u8; _] | 109 | 413..416 'arr': &[u8; _] |
110 | "### | 110 | "### |
111 | ); | 111 | ); |
112 | } | 112 | } |
@@ -120,11 +120,11 @@ fn test() { | |||
120 | } | 120 | } |
121 | "#), | 121 | "#), |
122 | @r###" | 122 | @r###" |
123 | [11; 40) '{ ...[1]; }': () | 123 | 11..40 '{ ...[1]; }': () |
124 | [21; 22) 'x': &[i32] | 124 | 21..22 'x': &[i32] |
125 | [33; 37) '&[1]': &[i32; _] | 125 | 33..37 '&[1]': &[i32; _] |
126 | [34; 37) '[1]': [i32; _] | 126 | 34..37 '[1]': [i32; _] |
127 | [35; 36) '1': i32 | 127 | 35..36 '1': i32 |
128 | "###); | 128 | "###); |
129 | } | 129 | } |
130 | 130 | ||
@@ -150,31 +150,31 @@ fn test(a: A<[u8; 2]>, b: B<[u8; 2]>, c: C<[u8; 2]>) { | |||
150 | } | 150 | } |
151 | "#), | 151 | "#), |
152 | @r###" | 152 | @r###" |
153 | [258; 259) 'x': A<[T]> | 153 | 258..259 'x': A<[T]> |
154 | [279; 284) '{ x }': A<[T]> | 154 | 279..284 '{ x }': A<[T]> |
155 | [281; 282) 'x': A<[T]> | 155 | 281..282 'x': A<[T]> |
156 | [296; 297) 'x': B<[T]> | 156 | 296..297 'x': B<[T]> |
157 | [317; 322) '{ x }': B<[T]> | 157 | 317..322 '{ x }': B<[T]> |
158 | [319; 320) 'x': B<[T]> | 158 | 319..320 'x': B<[T]> |
159 | [334; 335) 'x': C<[T]> | 159 | 334..335 'x': C<[T]> |
160 | [355; 360) '{ x }': C<[T]> | 160 | 355..360 '{ x }': C<[T]> |
161 | [357; 358) 'x': C<[T]> | 161 | 357..358 'x': C<[T]> |
162 | [370; 371) 'a': A<[u8; _]> | 162 | 370..371 'a': A<[u8; _]> |
163 | [385; 386) 'b': B<[u8; _]> | 163 | 385..386 'b': B<[u8; _]> |
164 | [400; 401) 'c': C<[u8; _]> | 164 | 400..401 'c': C<[u8; _]> |
165 | [415; 481) '{ ...(c); }': () | 165 | 415..481 '{ ...(c); }': () |
166 | [425; 426) 'd': A<[{unknown}]> | 166 | 425..426 'd': A<[{unknown}]> |
167 | [429; 433) 'foo1': fn foo1<{unknown}>(A<[{unknown}]>) -> A<[{unknown}]> | 167 | 429..433 'foo1': fn foo1<{unknown}>(A<[{unknown}]>) -> A<[{unknown}]> |
168 | [429; 436) 'foo1(a)': A<[{unknown}]> | 168 | 429..436 'foo1(a)': A<[{unknown}]> |
169 | [434; 435) 'a': A<[u8; _]> | 169 | 434..435 'a': A<[u8; _]> |
170 | [446; 447) 'e': B<[u8]> | 170 | 446..447 'e': B<[u8]> |
171 | [450; 454) 'foo2': fn foo2<u8>(B<[u8]>) -> B<[u8]> | 171 | 450..454 'foo2': fn foo2<u8>(B<[u8]>) -> B<[u8]> |
172 | [450; 457) 'foo2(b)': B<[u8]> | 172 | 450..457 'foo2(b)': B<[u8]> |
173 | [455; 456) 'b': B<[u8; _]> | 173 | 455..456 'b': B<[u8; _]> |
174 | [467; 468) 'f': C<[u8]> | 174 | 467..468 'f': C<[u8]> |
175 | [471; 475) 'foo3': fn foo3<u8>(C<[u8]>) -> C<[u8]> | 175 | 471..475 'foo3': fn foo3<u8>(C<[u8]>) -> C<[u8]> |
176 | [471; 478) 'foo3(c)': C<[u8]> | 176 | 471..478 'foo3(c)': C<[u8]> |
177 | [476; 477) 'c': C<[u8; _]> | 177 | 476..477 'c': C<[u8; _]> |
178 | "### | 178 | "### |
179 | ); | 179 | ); |
180 | } | 180 | } |
@@ -193,24 +193,24 @@ fn test() { | |||
193 | } | 193 | } |
194 | "#), | 194 | "#), |
195 | @r###" | 195 | @r###" |
196 | [11; 12) 'x': &[T] | 196 | 11..12 'x': &[T] |
197 | [28; 39) '{ loop {} }': &[T] | 197 | 28..39 '{ loop {} }': &[T] |
198 | [30; 37) 'loop {}': ! | 198 | 30..37 'loop {}': ! |
199 | [35; 37) '{}': () | 199 | 35..37 '{}': () |
200 | [50; 126) '{ ... }; }': () | 200 | 50..126 '{ ... }; }': () |
201 | [60; 61) 'x': &[i32] | 201 | 60..61 'x': &[i32] |
202 | [64; 123) 'if tru... }': &[i32] | 202 | 64..123 'if tru... }': &[i32] |
203 | [67; 71) 'true': bool | 203 | 67..71 'true': bool |
204 | [72; 97) '{ ... }': &[i32] | 204 | 72..97 '{ ... }': &[i32] |
205 | [82; 85) 'foo': fn foo<i32>(&[i32]) -> &[i32] | 205 | 82..85 'foo': fn foo<i32>(&[i32]) -> &[i32] |
206 | [82; 91) 'foo(&[1])': &[i32] | 206 | 82..91 'foo(&[1])': &[i32] |
207 | [86; 90) '&[1]': &[i32; _] | 207 | 86..90 '&[1]': &[i32; _] |
208 | [87; 90) '[1]': [i32; _] | 208 | 87..90 '[1]': [i32; _] |
209 | [88; 89) '1': i32 | 209 | 88..89 '1': i32 |
210 | [103; 123) '{ ... }': &[i32; _] | 210 | 103..123 '{ ... }': &[i32; _] |
211 | [113; 117) '&[1]': &[i32; _] | 211 | 113..117 '&[1]': &[i32; _] |
212 | [114; 117) '[1]': [i32; _] | 212 | 114..117 '[1]': [i32; _] |
213 | [115; 116) '1': i32 | 213 | 115..116 '1': i32 |
214 | "### | 214 | "### |
215 | ); | 215 | ); |
216 | } | 216 | } |
@@ -229,24 +229,24 @@ fn test() { | |||
229 | } | 229 | } |
230 | "#), | 230 | "#), |
231 | @r###" | 231 | @r###" |
232 | [11; 12) 'x': &[T] | 232 | 11..12 'x': &[T] |
233 | [28; 39) '{ loop {} }': &[T] | 233 | 28..39 '{ loop {} }': &[T] |
234 | [30; 37) 'loop {}': ! | 234 | 30..37 'loop {}': ! |
235 | [35; 37) '{}': () | 235 | 35..37 '{}': () |
236 | [50; 126) '{ ... }; }': () | 236 | 50..126 '{ ... }; }': () |
237 | [60; 61) 'x': &[i32] | 237 | 60..61 'x': &[i32] |
238 | [64; 123) 'if tru... }': &[i32] | 238 | 64..123 'if tru... }': &[i32] |
239 | [67; 71) 'true': bool | 239 | 67..71 'true': bool |
240 | [72; 92) '{ ... }': &[i32; _] | 240 | 72..92 '{ ... }': &[i32; _] |
241 | [82; 86) '&[1]': &[i32; _] | 241 | 82..86 '&[1]': &[i32; _] |
242 | [83; 86) '[1]': [i32; _] | 242 | 83..86 '[1]': [i32; _] |
243 | [84; 85) '1': i32 | 243 | 84..85 '1': i32 |
244 | [98; 123) '{ ... }': &[i32] | 244 | 98..123 '{ ... }': &[i32] |
245 | [108; 111) 'foo': fn foo<i32>(&[i32]) -> &[i32] | 245 | 108..111 'foo': fn foo<i32>(&[i32]) -> &[i32] |
246 | [108; 117) 'foo(&[1])': &[i32] | 246 | 108..117 'foo(&[1])': &[i32] |
247 | [112; 116) '&[1]': &[i32; _] | 247 | 112..116 '&[1]': &[i32; _] |
248 | [113; 116) '[1]': [i32; _] | 248 | 113..116 '[1]': [i32; _] |
249 | [114; 115) '1': i32 | 249 | 114..115 '1': i32 |
250 | "### | 250 | "### |
251 | ); | 251 | ); |
252 | } | 252 | } |
@@ -265,31 +265,31 @@ fn test(i: i32) { | |||
265 | } | 265 | } |
266 | "#), | 266 | "#), |
267 | @r###" | 267 | @r###" |
268 | [11; 12) 'x': &[T] | 268 | 11..12 'x': &[T] |
269 | [28; 39) '{ loop {} }': &[T] | 269 | 28..39 '{ loop {} }': &[T] |
270 | [30; 37) 'loop {}': ! | 270 | 30..37 'loop {}': ! |
271 | [35; 37) '{}': () | 271 | 35..37 '{}': () |
272 | [48; 49) 'i': i32 | 272 | 48..49 'i': i32 |
273 | [56; 150) '{ ... }; }': () | 273 | 56..150 '{ ... }; }': () |
274 | [66; 67) 'x': &[i32] | 274 | 66..67 'x': &[i32] |
275 | [70; 147) 'match ... }': &[i32] | 275 | 70..147 'match ... }': &[i32] |
276 | [76; 77) 'i': i32 | 276 | 76..77 'i': i32 |
277 | [88; 89) '2': i32 | 277 | 88..89 '2': i32 |
278 | [88; 89) '2': i32 | 278 | 88..89 '2': i32 |
279 | [93; 96) 'foo': fn foo<i32>(&[i32]) -> &[i32] | 279 | 93..96 'foo': fn foo<i32>(&[i32]) -> &[i32] |
280 | [93; 102) 'foo(&[2])': &[i32] | 280 | 93..102 'foo(&[2])': &[i32] |
281 | [97; 101) '&[2]': &[i32; _] | 281 | 97..101 '&[2]': &[i32; _] |
282 | [98; 101) '[2]': [i32; _] | 282 | 98..101 '[2]': [i32; _] |
283 | [99; 100) '2': i32 | 283 | 99..100 '2': i32 |
284 | [112; 113) '1': i32 | 284 | 112..113 '1': i32 |
285 | [112; 113) '1': i32 | 285 | 112..113 '1': i32 |
286 | [117; 121) '&[1]': &[i32; _] | 286 | 117..121 '&[1]': &[i32; _] |
287 | [118; 121) '[1]': [i32; _] | 287 | 118..121 '[1]': [i32; _] |
288 | [119; 120) '1': i32 | 288 | 119..120 '1': i32 |
289 | [131; 132) '_': i32 | 289 | 131..132 '_': i32 |
290 | [136; 140) '&[3]': &[i32; _] | 290 | 136..140 '&[3]': &[i32; _] |
291 | [137; 140) '[3]': [i32; _] | 291 | 137..140 '[3]': [i32; _] |
292 | [138; 139) '3': i32 | 292 | 138..139 '3': i32 |
293 | "### | 293 | "### |
294 | ); | 294 | ); |
295 | } | 295 | } |
@@ -308,31 +308,31 @@ fn test(i: i32) { | |||
308 | } | 308 | } |
309 | "#), | 309 | "#), |
310 | @r###" | 310 | @r###" |
311 | [11; 12) 'x': &[T] | 311 | 11..12 'x': &[T] |
312 | [28; 39) '{ loop {} }': &[T] | 312 | 28..39 '{ loop {} }': &[T] |
313 | [30; 37) 'loop {}': ! | 313 | 30..37 'loop {}': ! |
314 | [35; 37) '{}': () | 314 | 35..37 '{}': () |
315 | [48; 49) 'i': i32 | 315 | 48..49 'i': i32 |
316 | [56; 150) '{ ... }; }': () | 316 | 56..150 '{ ... }; }': () |
317 | [66; 67) 'x': &[i32] | 317 | 66..67 'x': &[i32] |
318 | [70; 147) 'match ... }': &[i32] | 318 | 70..147 'match ... }': &[i32] |
319 | [76; 77) 'i': i32 | 319 | 76..77 'i': i32 |
320 | [88; 89) '1': i32 | 320 | 88..89 '1': i32 |
321 | [88; 89) '1': i32 | 321 | 88..89 '1': i32 |
322 | [93; 97) '&[1]': &[i32; _] | 322 | 93..97 '&[1]': &[i32; _] |
323 | [94; 97) '[1]': [i32; _] | 323 | 94..97 '[1]': [i32; _] |
324 | [95; 96) '1': i32 | 324 | 95..96 '1': i32 |
325 | [107; 108) '2': i32 | 325 | 107..108 '2': i32 |
326 | [107; 108) '2': i32 | 326 | 107..108 '2': i32 |
327 | [112; 115) 'foo': fn foo<i32>(&[i32]) -> &[i32] | 327 | 112..115 'foo': fn foo<i32>(&[i32]) -> &[i32] |
328 | [112; 121) 'foo(&[2])': &[i32] | 328 | 112..121 'foo(&[2])': &[i32] |
329 | [116; 120) '&[2]': &[i32; _] | 329 | 116..120 '&[2]': &[i32; _] |
330 | [117; 120) '[2]': [i32; _] | 330 | 117..120 '[2]': [i32; _] |
331 | [118; 119) '2': i32 | 331 | 118..119 '2': i32 |
332 | [131; 132) '_': i32 | 332 | 131..132 '_': i32 |
333 | [136; 140) '&[3]': &[i32; _] | 333 | 136..140 '&[3]': &[i32; _] |
334 | [137; 140) '[3]': [i32; _] | 334 | 137..140 '[3]': [i32; _] |
335 | [138; 139) '3': i32 | 335 | 138..139 '3': i32 |
336 | "### | 336 | "### |
337 | ); | 337 | ); |
338 | } | 338 | } |
@@ -353,24 +353,24 @@ fn test() { | |||
353 | } | 353 | } |
354 | "#), | 354 | "#), |
355 | @r###" | 355 | @r###" |
356 | [11; 145) '{ ... }; }': () | 356 | 11..145 '{ ... }; }': () |
357 | [21; 22) 't': &mut i32 | 357 | 21..22 't': &mut i32 |
358 | [25; 31) '&mut 1': &mut i32 | 358 | 25..31 '&mut 1': &mut i32 |
359 | [30; 31) '1': i32 | 359 | 30..31 '1': i32 |
360 | [41; 42) 'x': *const i32 | 360 | 41..42 'x': *const i32 |
361 | [45; 142) 'match ... }': *const i32 | 361 | 45..142 'match ... }': *const i32 |
362 | [51; 52) '1': i32 | 362 | 51..52 '1': i32 |
363 | [63; 64) '1': i32 | 363 | 63..64 '1': i32 |
364 | [63; 64) '1': i32 | 364 | 63..64 '1': i32 |
365 | [68; 69) 't': &mut i32 | 365 | 68..69 't': &mut i32 |
366 | [68; 81) 't as *mut i32': *mut i32 | 366 | 68..81 't as *mut i32': *mut i32 |
367 | [91; 92) '2': i32 | 367 | 91..92 '2': i32 |
368 | [91; 92) '2': i32 | 368 | 91..92 '2': i32 |
369 | [96; 97) 't': &mut i32 | 369 | 96..97 't': &mut i32 |
370 | [96; 105) 't as &i32': &i32 | 370 | 96..105 't as &i32': &i32 |
371 | [115; 116) '_': i32 | 371 | 115..116 '_': i32 |
372 | [120; 121) 't': &mut i32 | 372 | 120..121 't': &mut i32 |
373 | [120; 135) 't as *const i32': *const i32 | 373 | 120..135 't as *const i32': *const i32 |
374 | "### | 374 | "### |
375 | ); | 375 | ); |
376 | } | 376 | } |
@@ -384,9 +384,9 @@ fn foo() -> u32 { | |||
384 | } | 384 | } |
385 | "#, true), | 385 | "#, true), |
386 | @r###" | 386 | @r###" |
387 | [17; 40) '{ ...own; }': ! | 387 | 17..40 '{ ...own; }': ! |
388 | [23; 37) 'return unknown': ! | 388 | 23..37 'return unknown': ! |
389 | [30; 37) 'unknown': u32 | 389 | 30..37 'unknown': u32 |
390 | "### | 390 | "### |
391 | ); | 391 | ); |
392 | } | 392 | } |
@@ -404,24 +404,24 @@ fn test() { | |||
404 | } | 404 | } |
405 | "#, true), | 405 | "#, true), |
406 | @r###" | 406 | @r###" |
407 | [30; 31) 'x': &Foo | 407 | 30..31 'x': &Foo |
408 | [39; 41) '{}': () | 408 | 39..41 '{}': () |
409 | [52; 133) '{ ...oo); }': () | 409 | 52..133 '{ ...oo); }': () |
410 | [58; 71) 'takes_ref_foo': fn takes_ref_foo(&Foo) | 410 | 58..71 'takes_ref_foo': fn takes_ref_foo(&Foo) |
411 | [58; 77) 'takes_...(&Foo)': () | 411 | 58..77 'takes_...(&Foo)': () |
412 | [72; 76) '&Foo': &Foo | 412 | 72..76 '&Foo': &Foo |
413 | [73; 76) 'Foo': Foo | 413 | 73..76 'Foo': Foo |
414 | [83; 96) 'takes_ref_foo': fn takes_ref_foo(&Foo) | 414 | 83..96 'takes_ref_foo': fn takes_ref_foo(&Foo) |
415 | [83; 103) 'takes_...&&Foo)': () | 415 | 83..103 'takes_...&&Foo)': () |
416 | [97; 102) '&&Foo': &&Foo | 416 | 97..102 '&&Foo': &&Foo |
417 | [98; 102) '&Foo': &Foo | 417 | 98..102 '&Foo': &Foo |
418 | [99; 102) 'Foo': Foo | 418 | 99..102 'Foo': Foo |
419 | [109; 122) 'takes_ref_foo': fn takes_ref_foo(&Foo) | 419 | 109..122 'takes_ref_foo': fn takes_ref_foo(&Foo) |
420 | [109; 130) 'takes_...&&Foo)': () | 420 | 109..130 'takes_...&&Foo)': () |
421 | [123; 129) '&&&Foo': &&&Foo | 421 | 123..129 '&&&Foo': &&&Foo |
422 | [124; 129) '&&Foo': &&Foo | 422 | 124..129 '&&Foo': &&Foo |
423 | [125; 129) '&Foo': &Foo | 423 | 125..129 '&Foo': &Foo |
424 | [126; 129) 'Foo': Foo | 424 | 126..129 'Foo': Foo |
425 | "### | 425 | "### |
426 | ); | 426 | ); |
427 | } | 427 | } |
@@ -439,26 +439,26 @@ fn test() { | |||
439 | } | 439 | } |
440 | "#, true), | 440 | "#, true), |
441 | @r###" | 441 | @r###" |
442 | [29; 30) 'x': &T | 442 | 29..30 'x': &T |
443 | [41; 47) '{ *x }': T | 443 | 41..47 '{ *x }': T |
444 | [43; 45) '*x': T | 444 | 43..45 '*x': T |
445 | [44; 45) 'x': &T | 445 | 44..45 'x': &T |
446 | [58; 127) '{ ...oo); }': () | 446 | 58..127 '{ ...oo); }': () |
447 | [64; 73) 'takes_ref': fn takes_ref<Foo>(&Foo) -> Foo | 447 | 64..73 'takes_ref': fn takes_ref<Foo>(&Foo) -> Foo |
448 | [64; 79) 'takes_ref(&Foo)': Foo | 448 | 64..79 'takes_ref(&Foo)': Foo |
449 | [74; 78) '&Foo': &Foo | 449 | 74..78 '&Foo': &Foo |
450 | [75; 78) 'Foo': Foo | 450 | 75..78 'Foo': Foo |
451 | [85; 94) 'takes_ref': fn takes_ref<&Foo>(&&Foo) -> &Foo | 451 | 85..94 'takes_ref': fn takes_ref<&Foo>(&&Foo) -> &Foo |
452 | [85; 101) 'takes_...&&Foo)': &Foo | 452 | 85..101 'takes_...&&Foo)': &Foo |
453 | [95; 100) '&&Foo': &&Foo | 453 | 95..100 '&&Foo': &&Foo |
454 | [96; 100) '&Foo': &Foo | 454 | 96..100 '&Foo': &Foo |
455 | [97; 100) 'Foo': Foo | 455 | 97..100 'Foo': Foo |
456 | [107; 116) 'takes_ref': fn takes_ref<&&Foo>(&&&Foo) -> &&Foo | 456 | 107..116 'takes_ref': fn takes_ref<&&Foo>(&&&Foo) -> &&Foo |
457 | [107; 124) 'takes_...&&Foo)': &&Foo | 457 | 107..124 'takes_...&&Foo)': &&Foo |
458 | [117; 123) '&&&Foo': &&&Foo | 458 | 117..123 '&&&Foo': &&&Foo |
459 | [118; 123) '&&Foo': &&Foo | 459 | 118..123 '&&Foo': &&Foo |
460 | [119; 123) '&Foo': &Foo | 460 | 119..123 '&Foo': &Foo |
461 | [120; 123) 'Foo': Foo | 461 | 120..123 'Foo': Foo |
462 | "### | 462 | "### |
463 | ); | 463 | ); |
464 | } | 464 | } |
@@ -478,18 +478,18 @@ fn test() { | |||
478 | } | 478 | } |
479 | "#, true), | 479 | "#, true), |
480 | @r###" | 480 | @r###" |
481 | [127; 128) 'x': &str | 481 | 127..128 'x': &str |
482 | [136; 138) '{}': () | 482 | 136..138 '{}': () |
483 | [169; 180) '{ loop {} }': String | 483 | 169..180 '{ loop {} }': String |
484 | [171; 178) 'loop {}': ! | 484 | 171..178 'loop {}': ! |
485 | [176; 178) '{}': () | 485 | 176..178 '{}': () |
486 | [191; 236) '{ ... }); }': () | 486 | 191..236 '{ ... }); }': () |
487 | [197; 210) 'takes_ref_str': fn takes_ref_str(&str) | 487 | 197..210 'takes_ref_str': fn takes_ref_str(&str) |
488 | [197; 233) 'takes_...g() })': () | 488 | 197..233 'takes_...g() })': () |
489 | [211; 232) '&{ ret...ng() }': &String | 489 | 211..232 '&{ ret...ng() }': &String |
490 | [212; 232) '{ retu...ng() }': String | 490 | 212..232 '{ retu...ng() }': String |
491 | [214; 228) 'returns_string': fn returns_string() -> String | 491 | 214..228 'returns_string': fn returns_string() -> String |
492 | [214; 230) 'return...ring()': String | 492 | 214..230 'return...ring()': String |
493 | "### | 493 | "### |
494 | ); | 494 | ); |
495 | } | 495 | } |
@@ -508,19 +508,19 @@ fn foo() { | |||
508 | } | 508 | } |
509 | "#, true), | 509 | "#, true), |
510 | @r###" | 510 | @r###" |
511 | [10; 106) '{ ... }; }': () | 511 | 10..106 '{ ... }; }': () |
512 | [20; 21) 'x': || -> &u32 | 512 | 20..21 'x': || -> &u32 |
513 | [24; 103) '|| { ... }': || -> &u32 | 513 | 24..103 '|| { ... }': || -> &u32 |
514 | [27; 103) '{ ... }': &u32 | 514 | 27..103 '{ ... }': &u32 |
515 | [37; 82) 'if tru... }': () | 515 | 37..82 'if tru... }': () |
516 | [40; 44) 'true': bool | 516 | 40..44 'true': bool |
517 | [45; 82) '{ ... }': ! | 517 | 45..82 '{ ... }': ! |
518 | [59; 71) 'return &1u32': ! | 518 | 59..71 'return &1u32': ! |
519 | [66; 71) '&1u32': &u32 | 519 | 66..71 '&1u32': &u32 |
520 | [67; 71) '1u32': u32 | 520 | 67..71 '1u32': u32 |
521 | [91; 97) '&&1u32': &&u32 | 521 | 91..97 '&&1u32': &&u32 |
522 | [92; 97) '&1u32': &u32 | 522 | 92..97 '&1u32': &u32 |
523 | [93; 97) '1u32': u32 | 523 | 93..97 '1u32': u32 |
524 | "### | 524 | "### |
525 | ); | 525 | ); |
526 | } | 526 | } |
@@ -535,12 +535,12 @@ fn test() { | |||
535 | } | 535 | } |
536 | "#, true), | 536 | "#, true), |
537 | @r###" | 537 | @r###" |
538 | [8; 9) 'x': u32 | 538 | 8..9 'x': u32 |
539 | [25; 30) '{ 1 }': isize | 539 | 25..30 '{ 1 }': isize |
540 | [27; 28) '1': isize | 540 | 27..28 '1': isize |
541 | [41; 79) '{ ...foo; }': () | 541 | 41..79 '{ ...foo; }': () |
542 | [51; 52) 'f': fn(u32) -> isize | 542 | 51..52 'f': fn(u32) -> isize |
543 | [73; 76) 'foo': fn foo(u32) -> isize | 543 | 73..76 'foo': fn foo(u32) -> isize |
544 | "### | 544 | "### |
545 | ); | 545 | ); |
546 | } | 546 | } |
@@ -554,12 +554,12 @@ fn test() { | |||
554 | } | 554 | } |
555 | "#, true), | 555 | "#, true), |
556 | @r###" | 556 | @r###" |
557 | [11; 55) '{ ...1 }; }': () | 557 | 11..55 '{ ...1 }; }': () |
558 | [21; 22) 'f': fn(u32) -> isize | 558 | 21..22 'f': fn(u32) -> isize |
559 | [43; 52) '|x| { 1 }': |u32| -> isize | 559 | 43..52 '|x| { 1 }': |u32| -> isize |
560 | [44; 45) 'x': u32 | 560 | 44..45 'x': u32 |
561 | [47; 52) '{ 1 }': isize | 561 | 47..52 '{ 1 }': isize |
562 | [49; 50) '1': isize | 562 | 49..50 '1': isize |
563 | "### | 563 | "### |
564 | ); | 564 | ); |
565 | } | 565 | } |
@@ -577,11 +577,11 @@ impl<TT> S<TT> { | |||
577 | } | 577 | } |
578 | "#, true), | 578 | "#, true), |
579 | @r###" | 579 | @r###" |
580 | [51; 55) 'self': &S<TT> | 580 | 51..55 'self': &S<TT> |
581 | [64; 87) '{ ... }': &TT | 581 | 64..87 '{ ... }': &TT |
582 | [74; 81) '&self.t': &TT | 582 | 74..81 '&self.t': &TT |
583 | [75; 79) 'self': &S<TT> | 583 | 75..79 'self': &S<TT> |
584 | [75; 81) 'self.t': TT | 584 | 75..81 'self.t': TT |
585 | "### | 585 | "### |
586 | ); | 586 | ); |
587 | } | 587 | } |
@@ -602,13 +602,13 @@ fn test() { | |||
602 | } | 602 | } |
603 | "#, true), | 603 | "#, true), |
604 | @r###" | 604 | @r###" |
605 | [162; 199) '{ ... 3]; }': () | 605 | 162..199 '{ ... 3]; }': () |
606 | [172; 173) 'f': &[usize] | 606 | 172..173 'f': &[usize] |
607 | [186; 196) '&[1, 2, 3]': &[usize; _] | 607 | 186..196 '&[1, 2, 3]': &[usize; _] |
608 | [187; 196) '[1, 2, 3]': [usize; _] | 608 | 187..196 '[1, 2, 3]': [usize; _] |
609 | [188; 189) '1': usize | 609 | 188..189 '1': usize |
610 | [191; 192) '2': usize | 610 | 191..192 '2': usize |
611 | [194; 195) '3': usize | 611 | 194..195 '3': usize |
612 | "### | 612 | "### |
613 | ); | 613 | ); |
614 | } | 614 | } |
@@ -642,19 +642,19 @@ fn test() { | |||
642 | } | 642 | } |
643 | "#, true), | 643 | "#, true), |
644 | @r###" | 644 | @r###" |
645 | [388; 573) '{ ...bj2; }': () | 645 | 388..573 '{ ...bj2; }': () |
646 | [398; 401) 'obj': &dyn Baz<i8, i16> | 646 | 398..401 'obj': &dyn Baz<i8, i16> |
647 | [423; 425) '&S': &S<i8, i16> | 647 | 423..425 '&S': &S<i8, i16> |
648 | [424; 425) 'S': S<i8, i16> | 648 | 424..425 'S': S<i8, i16> |
649 | [435; 438) 'obj': &dyn Bar<usize, i8, i16> | 649 | 435..438 'obj': &dyn Bar<usize, i8, i16> |
650 | [460; 463) 'obj': &dyn Baz<i8, i16> | 650 | 460..463 'obj': &dyn Baz<i8, i16> |
651 | [473; 476) 'obj': &dyn Foo<i8, usize> | 651 | 473..476 'obj': &dyn Foo<i8, usize> |
652 | [495; 498) 'obj': &dyn Bar<usize, i8, i16> | 652 | 495..498 'obj': &dyn Bar<usize, i8, i16> |
653 | [508; 512) 'obj2': &dyn Baz<i8, i16> | 653 | 508..512 'obj2': &dyn Baz<i8, i16> |
654 | [534; 536) '&S': &S<i8, i16> | 654 | 534..536 '&S': &S<i8, i16> |
655 | [535; 536) 'S': S<i8, i16> | 655 | 535..536 'S': S<i8, i16> |
656 | [546; 547) '_': &dyn Foo<i8, usize> | 656 | 546..547 '_': &dyn Foo<i8, usize> |
657 | [566; 570) 'obj2': &dyn Baz<i8, i16> | 657 | 566..570 'obj2': &dyn Baz<i8, i16> |
658 | "### | 658 | "### |
659 | ); | 659 | ); |
660 | } | 660 | } |
@@ -687,12 +687,12 @@ fn test() { | |||
687 | } | 687 | } |
688 | "#, true), | 688 | "#, true), |
689 | @r###" | 689 | @r###" |
690 | [292; 348) '{ ...obj; }': () | 690 | 292..348 '{ ...obj; }': () |
691 | [302; 305) 'obj': &dyn D | 691 | 302..305 'obj': &dyn D |
692 | [316; 318) '&S': &S | 692 | 316..318 '&S': &S |
693 | [317; 318) 'S': S | 693 | 317..318 'S': S |
694 | [328; 331) 'obj': &dyn A | 694 | 328..331 'obj': &dyn A |
695 | [342; 345) 'obj': &dyn D | 695 | 342..345 'obj': &dyn D |
696 | "### | 696 | "### |
697 | ); | 697 | ); |
698 | } | 698 | } |