aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/tests/coercion.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_ty/src/tests/coercion.rs')
-rw-r--r--crates/ra_hir_ty/src/tests/coercion.rs582
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}