aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_ty/src/tests/simple.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_ty/src/tests/simple.rs')
-rw-r--r--crates/ra_hir_ty/src/tests/simple.rs1360
1 files changed, 680 insertions, 680 deletions
diff --git a/crates/ra_hir_ty/src/tests/simple.rs b/crates/ra_hir_ty/src/tests/simple.rs
index c2f1ded2f..56abc65b8 100644
--- a/crates/ra_hir_ty/src/tests/simple.rs
+++ b/crates/ra_hir_ty/src/tests/simple.rs
@@ -64,9 +64,9 @@ impl S<u32> {
64} 64}
65"#, 65"#,
66 ), @r###" 66 ), @r###"
67 [63; 93) '{ ... }': () 67 63..93 '{ ... }': ()
68 [73; 86) 'Self { x: 1 }': S<u32> 68 73..86 'Self { x: 1 }': S<u32>
69 [83; 84) '1': u32 69 83..84 '1': u32
70 "###); 70 "###);
71} 71}
72 72
@@ -85,9 +85,9 @@ fn foo() {
85 85
86"#, 86"#,
87 ), @r###" 87 ), @r###"
88 [64; 84) '{ ...1 }; }': () 88 64..84 '{ ...1 }; }': ()
89 [70; 81) 'SS { x: 1 }': S<u32> 89 70..81 'SS { x: 1 }': S<u32>
90 [78; 79) '1': u32 90 78..79 '1': u32
91 "###); 91 "###);
92} 92}
93 93
@@ -175,19 +175,19 @@ fn test(a: u32, b: isize, c: !, d: &str) {
175 1.0f32; 175 1.0f32;
176}"#), 176}"#),
177 @r###" 177 @r###"
178 [9; 10) 'a': u32 178 9..10 'a': u32
179 [17; 18) 'b': isize 179 17..18 'b': isize
180 [27; 28) 'c': ! 180 27..28 'c': !
181 [33; 34) 'd': &str 181 33..34 'd': &str
182 [42; 121) '{ ...f32; }': ! 182 42..121 '{ ...f32; }': !
183 [48; 49) 'a': u32 183 48..49 'a': u32
184 [55; 56) 'b': isize 184 55..56 'b': isize
185 [62; 63) 'c': ! 185 62..63 'c': !
186 [69; 70) 'd': &str 186 69..70 'd': &str
187 [76; 82) '1usize': usize 187 76..82 '1usize': usize
188 [88; 94) '1isize': isize 188 88..94 '1isize': isize
189 [100; 106) '"test"': &str 189 100..106 '"test"': &str
190 [112; 118) '1.0f32': f32 190 112..118 '1.0f32': f32
191 "### 191 "###
192 ); 192 );
193} 193}
@@ -206,17 +206,17 @@ fn test() {
206} 206}
207"#), 207"#),
208 @r###" 208 @r###"
209 [11; 118) '{ ...= e; }': () 209 11..118 '{ ...= e; }': ()
210 [21; 22) 'a': isize 210 21..22 'a': isize
211 [25; 31) '1isize': isize 211 25..31 '1isize': isize
212 [41; 42) 'b': usize 212 41..42 'b': usize
213 [52; 53) '1': usize 213 52..53 '1': usize
214 [63; 64) 'c': usize 214 63..64 'c': usize
215 [67; 68) 'b': usize 215 67..68 'b': usize
216 [78; 79) 'd': u32 216 78..79 'd': u32
217 [94; 95) 'e': i32 217 94..95 'e': i32
218 [105; 106) 'f': i32 218 105..106 'f': i32
219 [114; 115) 'e': i32 219 114..115 'e': i32
220 "### 220 "###
221 ); 221 );
222} 222}
@@ -237,15 +237,15 @@ fn test() {
237} 237}
238"#), 238"#),
239 @r###" 239 @r###"
240 [15; 20) '{ 1 }': u32 240 15..20 '{ 1 }': u32
241 [17; 18) '1': u32 241 17..18 '1': u32
242 [48; 53) '{ 1 }': u32 242 48..53 '{ 1 }': u32
243 [50; 51) '1': u32 243 50..51 '1': u32
244 [67; 91) '{ ...c(); }': () 244 67..91 '{ ...c(); }': ()
245 [73; 74) 'a': fn a() -> u32 245 73..74 'a': fn a() -> u32
246 [73; 76) 'a()': u32 246 73..76 'a()': u32
247 [82; 86) 'b::c': fn c() -> u32 247 82..86 'b::c': fn c() -> u32
248 [82; 88) 'b::c()': u32 248 82..88 'b::c()': u32
249 "### 249 "###
250 ); 250 );
251} 251}
@@ -266,13 +266,13 @@ fn test() {
266} 266}
267"#), 267"#),
268 @r###" 268 @r###"
269 [41; 46) '{ 1 }': i32 269 41..46 '{ 1 }': i32
270 [43; 44) '1': i32 270 43..44 '1': i32
271 [60; 93) '{ ...o(); }': () 271 60..93 '{ ...o(); }': ()
272 [66; 72) 'S::foo': fn foo() -> i32 272 66..72 'S::foo': fn foo() -> i32
273 [66; 74) 'S::foo()': i32 273 66..74 'S::foo()': i32
274 [80; 88) '<S>::foo': fn foo() -> i32 274 80..88 '<S>::foo': fn foo() -> i32
275 [80; 90) '<S>::foo()': i32 275 80..90 '<S>::foo()': i32
276 "### 276 "###
277 ); 277 );
278} 278}
@@ -297,22 +297,22 @@ fn test() {
297} 297}
298"#), 298"#),
299 @r###" 299 @r###"
300 [72; 154) '{ ...a.c; }': () 300 72..154 '{ ...a.c; }': ()
301 [82; 83) 'c': C 301 82..83 'c': C
302 [86; 87) 'C': C(usize) -> C 302 86..87 'C': C(usize) -> C
303 [86; 90) 'C(1)': C 303 86..90 'C(1)': C
304 [88; 89) '1': usize 304 88..89 '1': usize
305 [96; 97) 'B': B 305 96..97 'B': B
306 [107; 108) 'a': A 306 107..108 'a': A
307 [114; 133) 'A { b:...C(1) }': A 307 114..133 'A { b:...C(1) }': A
308 [121; 122) 'B': B 308 121..122 'B': B
309 [127; 128) 'C': C(usize) -> C 309 127..128 'C': C(usize) -> C
310 [127; 131) 'C(1)': C 310 127..131 'C(1)': C
311 [129; 130) '1': usize 311 129..130 '1': usize
312 [139; 140) 'a': A 312 139..140 'a': A
313 [139; 142) 'a.b': B 313 139..142 'a.b': B
314 [148; 149) 'a': A 314 148..149 'a': A
315 [148; 151) 'a.c': C 315 148..151 'a.c': C
316 "### 316 "###
317 ); 317 );
318} 318}
@@ -330,10 +330,10 @@ fn test() {
330 E::V2; 330 E::V2;
331}"#), 331}"#),
332 @r###" 332 @r###"
333 [48; 82) '{ E:...:V2; }': () 333 48..82 '{ E:...:V2; }': ()
334 [52; 70) 'E::V1 ...d: 1 }': E 334 52..70 'E::V1 ...d: 1 }': E
335 [67; 68) '1': u32 335 67..68 '1': u32
336 [74; 79) 'E::V2': E 336 74..79 'E::V2': E
337 "### 337 "###
338 ); 338 );
339} 339}
@@ -357,29 +357,29 @@ fn test(a: &u32, b: &mut u32, c: *const u32, d: *mut u32) {
357} 357}
358"#), 358"#),
359 @r###" 359 @r###"
360 [9; 10) 'a': &u32 360 9..10 'a': &u32
361 [18; 19) 'b': &mut u32 361 18..19 'b': &mut u32
362 [31; 32) 'c': *const u32 362 31..32 'c': *const u32
363 [46; 47) 'd': *mut u32 363 46..47 'd': *mut u32
364 [59; 150) '{ ... *d; }': () 364 59..150 '{ ... *d; }': ()
365 [65; 66) 'a': &u32 365 65..66 'a': &u32
366 [72; 74) '*a': u32 366 72..74 '*a': u32
367 [73; 74) 'a': &u32 367 73..74 'a': &u32
368 [80; 82) '&a': &&u32 368 80..82 '&a': &&u32
369 [81; 82) 'a': &u32 369 81..82 'a': &u32
370 [88; 94) '&mut a': &mut &u32 370 88..94 '&mut a': &mut &u32
371 [93; 94) 'a': &u32 371 93..94 'a': &u32
372 [100; 101) 'b': &mut u32 372 100..101 'b': &mut u32
373 [107; 109) '*b': u32 373 107..109 '*b': u32
374 [108; 109) 'b': &mut u32 374 108..109 'b': &mut u32
375 [115; 117) '&b': &&mut u32 375 115..117 '&b': &&mut u32
376 [116; 117) 'b': &mut u32 376 116..117 'b': &mut u32
377 [123; 124) 'c': *const u32 377 123..124 'c': *const u32
378 [130; 132) '*c': u32 378 130..132 '*c': u32
379 [131; 132) 'c': *const u32 379 131..132 'c': *const u32
380 [138; 139) 'd': *mut u32 380 138..139 'd': *mut u32
381 [145; 147) '*d': u32 381 145..147 '*d': u32
382 [146; 147) 'd': *mut u32 382 146..147 'd': *mut u32
383 "### 383 "###
384 ); 384 );
385} 385}
@@ -409,20 +409,20 @@ fn test() {
409} 409}
410"##), 410"##),
411 @r###" 411 @r###"
412 [11; 221) '{ ...o"#; }': () 412 11..221 '{ ...o"#; }': ()
413 [17; 21) '5i32': i32 413 17..21 '5i32': i32
414 [27; 31) '5f32': f32 414 27..31 '5f32': f32
415 [37; 41) '5f64': f64 415 37..41 '5f64': f64
416 [47; 54) '"hello"': &str 416 47..54 '"hello"': &str
417 [60; 68) 'b"bytes"': &[u8] 417 60..68 'b"bytes"': &[u8]
418 [74; 77) ''c'': char 418 74..77 ''c'': char
419 [83; 87) 'b'b'': u8 419 83..87 'b'b'': u8
420 [93; 97) '3.14': f64 420 93..97 '3.14': f64
421 [103; 107) '5000': i32 421 103..107 '5000': i32
422 [113; 118) 'false': bool 422 113..118 'false': bool
423 [124; 128) 'true': bool 423 124..128 'true': bool
424 [134; 202) 'r#" ... "#': &str 424 134..202 'r#" ... "#': &str
425 [208; 218) 'br#"yolo"#': &[u8] 425 208..218 'br#"yolo"#': &[u8]
426 "### 426 "###
427 ); 427 );
428} 428}
@@ -452,47 +452,47 @@ fn test(x: SomeType) {
452} 452}
453"#), 453"#),
454 @r###" 454 @r###"
455 [27; 28) 'x': SomeType 455 27..28 'x': SomeType
456 [40; 272) '{ ...lo"; }': () 456 40..272 '{ ...lo"; }': ()
457 [50; 51) 'b': bool 457 50..51 'b': bool
458 [54; 59) 'false': bool 458 54..59 'false': bool
459 [69; 70) 'c': bool 459 69..70 'c': bool
460 [73; 75) '!b': bool 460 73..75 '!b': bool
461 [74; 75) 'b': bool 461 74..75 'b': bool
462 [85; 86) 'a': i128 462 85..86 'a': i128
463 [89; 92) '100': i128 463 89..92 '100': i128
464 [102; 103) 'd': i128 464 102..103 'd': i128
465 [112; 114) '-a': i128 465 112..114 '-a': i128
466 [113; 114) 'a': i128 466 113..114 'a': i128
467 [124; 125) 'e': i32 467 124..125 'e': i32
468 [128; 132) '-100': i32 468 128..132 '-100': i32
469 [129; 132) '100': i32 469 129..132 '100': i32
470 [142; 143) 'f': bool 470 142..143 'f': bool
471 [146; 153) '!!!true': bool 471 146..153 '!!!true': bool
472 [147; 153) '!!true': bool 472 147..153 '!!true': bool
473 [148; 153) '!true': bool 473 148..153 '!true': bool
474 [149; 153) 'true': bool 474 149..153 'true': bool
475 [163; 164) 'g': i32 475 163..164 'g': i32
476 [167; 170) '!42': i32 476 167..170 '!42': i32
477 [168; 170) '42': i32 477 168..170 '42': i32
478 [180; 181) 'h': u32 478 180..181 'h': u32
479 [184; 190) '!10u32': u32 479 184..190 '!10u32': u32
480 [185; 190) '10u32': u32 480 185..190 '10u32': u32
481 [200; 201) 'j': i128 481 200..201 'j': i128
482 [204; 206) '!a': i128 482 204..206 '!a': i128
483 [205; 206) 'a': i128 483 205..206 'a': i128
484 [212; 217) '-3.14': f64 484 212..217 '-3.14': f64
485 [213; 217) '3.14': f64 485 213..217 '3.14': f64
486 [223; 225) '!3': i32 486 223..225 '!3': i32
487 [224; 225) '3': i32 487 224..225 '3': i32
488 [231; 233) '-x': {unknown} 488 231..233 '-x': {unknown}
489 [232; 233) 'x': SomeType 489 232..233 'x': SomeType
490 [239; 241) '!x': {unknown} 490 239..241 '!x': {unknown}
491 [240; 241) 'x': SomeType 491 240..241 'x': SomeType
492 [247; 255) '-"hello"': {unknown} 492 247..255 '-"hello"': {unknown}
493 [248; 255) '"hello"': &str 493 248..255 '"hello"': &str
494 [261; 269) '!"hello"': {unknown} 494 261..269 '!"hello"': {unknown}
495 [262; 269) '"hello"': &str 495 262..269 '"hello"': &str
496 "### 496 "###
497 ); 497 );
498} 498}
@@ -515,26 +515,26 @@ fn test() -> &mut &f64 {
515} 515}
516"#), 516"#),
517 @r###" 517 @r###"
518 [14; 15) 'x': u32 518 14..15 'x': u32
519 [22; 24) '{}': () 519 22..24 '{}': ()
520 [78; 231) '{ ...t &c }': &mut &f64 520 78..231 '{ ...t &c }': &mut &f64
521 [88; 89) 'a': u32 521 88..89 'a': u32
522 [92; 108) 'unknow...nction': {unknown} 522 92..108 'unknow...nction': {unknown}
523 [92; 110) 'unknow...tion()': u32 523 92..110 'unknow...tion()': u32
524 [116; 125) 'takes_u32': fn takes_u32(u32) 524 116..125 'takes_u32': fn takes_u32(u32)
525 [116; 128) 'takes_u32(a)': () 525 116..128 'takes_u32(a)': ()
526 [126; 127) 'a': u32 526 126..127 'a': u32
527 [138; 139) 'b': i32 527 138..139 'b': i32
528 [142; 158) 'unknow...nction': {unknown} 528 142..158 'unknow...nction': {unknown}
529 [142; 160) 'unknow...tion()': i32 529 142..160 'unknow...tion()': i32
530 [166; 184) 'S { i3...d: b }': S 530 166..184 'S { i3...d: b }': S
531 [181; 182) 'b': i32 531 181..182 'b': i32
532 [194; 195) 'c': f64 532 194..195 'c': f64
533 [198; 214) 'unknow...nction': {unknown} 533 198..214 'unknow...nction': {unknown}
534 [198; 216) 'unknow...tion()': f64 534 198..216 'unknow...tion()': f64
535 [222; 229) '&mut &c': &mut &f64 535 222..229 '&mut &c': &mut &f64
536 [227; 229) '&c': &f64 536 227..229 '&c': &f64
537 [228; 229) 'c': f64 537 228..229 'c': f64
538 "### 538 "###
539 ); 539 );
540} 540}
@@ -561,16 +561,16 @@ impl S {
561} 561}
562"#), 562"#),
563 @r###" 563 @r###"
564 [34; 38) 'self': &S 564 34..38 'self': &S
565 [40; 61) '{ ... }': () 565 40..61 '{ ... }': ()
566 [50; 54) 'self': &S 566 50..54 'self': &S
567 [75; 79) 'self': &S 567 75..79 'self': &S
568 [88; 109) '{ ... }': () 568 88..109 '{ ... }': ()
569 [98; 102) 'self': &S 569 98..102 'self': &S
570 [133; 153) '{ ... }': S 570 133..153 '{ ... }': S
571 [143; 147) 'S {}': S 571 143..147 'S {}': S
572 [177; 200) '{ ... }': S 572 177..200 '{ ... }': S
573 [187; 194) 'Self {}': S 573 187..194 'Self {}': S
574 "### 574 "###
575 ); 575 );
576} 576}
@@ -600,56 +600,56 @@ fn test() -> bool {
600} 600}
601"#), 601"#),
602 @r###" 602 @r###"
603 [6; 7) 'x': bool 603 6..7 'x': bool
604 [22; 34) '{ 0i32 }': i32 604 22..34 '{ 0i32 }': i32
605 [28; 32) '0i32': i32 605 28..32 '0i32': i32
606 [54; 370) '{ ... < 3 }': bool 606 54..370 '{ ... < 3 }': bool
607 [64; 65) 'x': bool 607 64..65 'x': bool
608 [68; 69) 'a': bool 608 68..69 'a': bool
609 [68; 74) 'a && b': bool 609 68..74 'a && b': bool
610 [73; 74) 'b': bool 610 73..74 'b': bool
611 [84; 85) 'y': bool 611 84..85 'y': bool
612 [88; 92) 'true': bool 612 88..92 'true': bool
613 [88; 101) 'true || false': bool 613 88..101 'true || false': bool
614 [96; 101) 'false': bool 614 96..101 'false': bool
615 [111; 112) 'z': bool 615 111..112 'z': bool
616 [115; 116) 'x': bool 616 115..116 'x': bool
617 [115; 121) 'x == y': bool 617 115..121 'x == y': bool
618 [120; 121) 'y': bool 618 120..121 'y': bool
619 [131; 132) 't': bool 619 131..132 't': bool
620 [135; 136) 'x': bool 620 135..136 'x': bool
621 [135; 141) 'x != y': bool 621 135..141 'x != y': bool
622 [140; 141) 'y': bool 622 140..141 'y': bool
623 [151; 162) 'minus_forty': isize 623 151..162 'minus_forty': isize
624 [172; 180) '-40isize': isize 624 172..180 '-40isize': isize
625 [173; 180) '40isize': isize 625 173..180 '40isize': isize
626 [190; 191) 'h': bool 626 190..191 'h': bool
627 [194; 205) 'minus_forty': isize 627 194..205 'minus_forty': isize
628 [194; 216) 'minus_...ONST_2': bool 628 194..216 'minus_...ONST_2': bool
629 [209; 216) 'CONST_2': isize 629 209..216 'CONST_2': isize
630 [226; 227) 'c': i32 630 226..227 'c': i32
631 [230; 231) 'f': fn f(bool) -> i32 631 230..231 'f': fn f(bool) -> i32
632 [230; 239) 'f(z || y)': i32 632 230..239 'f(z || y)': i32
633 [230; 243) 'f(z || y) + 5': i32 633 230..243 'f(z || y) + 5': i32
634 [232; 233) 'z': bool 634 232..233 'z': bool
635 [232; 238) 'z || y': bool 635 232..238 'z || y': bool
636 [237; 238) 'y': bool 636 237..238 'y': bool
637 [242; 243) '5': i32 637 242..243 '5': i32
638 [253; 254) 'd': {unknown} 638 253..254 'd': {unknown}
639 [257; 258) 'b': {unknown} 639 257..258 'b': {unknown}
640 [268; 269) 'g': () 640 268..269 'g': ()
641 [272; 283) 'minus_forty': isize 641 272..283 'minus_forty': isize
642 [272; 288) 'minus_...y ^= i': () 642 272..288 'minus_...y ^= i': ()
643 [287; 288) 'i': isize 643 287..288 'i': isize
644 [298; 301) 'ten': usize 644 298..301 'ten': usize
645 [311; 313) '10': usize 645 311..313 '10': usize
646 [323; 336) 'ten_is_eleven': bool 646 323..336 'ten_is_eleven': bool
647 [339; 342) 'ten': usize 647 339..342 'ten': usize
648 [339; 354) 'ten == some_num': bool 648 339..354 'ten == some_num': bool
649 [346; 354) 'some_num': usize 649 346..354 'some_num': usize
650 [361; 364) 'ten': usize 650 361..364 'ten': usize
651 [361; 368) 'ten < 3': bool 651 361..368 'ten < 3': bool
652 [367; 368) '3': usize 652 367..368 '3': usize
653 "### 653 "###
654 ); 654 );
655} 655}
@@ -664,13 +664,13 @@ fn test() {
664} 664}
665"#), 665"#),
666 @r###" 666 @r###"
667 [11; 48) '{ ...5u8; }': () 667 11..48 '{ ...5u8; }': ()
668 [17; 21) '1u32': u32 668 17..21 '1u32': u32
669 [17; 28) '1u32 << 5u8': u32 669 17..28 '1u32 << 5u8': u32
670 [25; 28) '5u8': u8 670 25..28 '5u8': u8
671 [34; 38) '1u32': u32 671 34..38 '1u32': u32
672 [34; 45) '1u32 >> 5u8': u32 672 34..45 '1u32 >> 5u8': u32
673 [42; 45) '5u8': u8 673 42..45 '5u8': u8
674 "### 674 "###
675 ); 675 );
676} 676}
@@ -703,49 +703,49 @@ fn test2(a1: *const A, a2: *mut A) {
703} 703}
704"#), 704"#),
705 @r###" 705 @r###"
706 [44; 45) 'a': A 706 44..45 'a': A
707 [50; 213) '{ ...5.b; }': () 707 50..213 '{ ...5.b; }': ()
708 [60; 62) 'a1': A 708 60..62 'a1': A
709 [65; 66) 'a': A 709 65..66 'a': A
710 [72; 74) 'a1': A 710 72..74 'a1': A
711 [72; 76) 'a1.b': B 711 72..76 'a1.b': B
712 [86; 88) 'a2': &A 712 86..88 'a2': &A
713 [91; 93) '&a': &A 713 91..93 '&a': &A
714 [92; 93) 'a': A 714 92..93 'a': A
715 [99; 101) 'a2': &A 715 99..101 'a2': &A
716 [99; 103) 'a2.b': B 716 99..103 'a2.b': B
717 [113; 115) 'a3': &mut A 717 113..115 'a3': &mut A
718 [118; 124) '&mut a': &mut A 718 118..124 '&mut a': &mut A
719 [123; 124) 'a': A 719 123..124 'a': A
720 [130; 132) 'a3': &mut A 720 130..132 'a3': &mut A
721 [130; 134) 'a3.b': B 721 130..134 'a3.b': B
722 [144; 146) 'a4': &&&&&&&A 722 144..146 'a4': &&&&&&&A
723 [149; 157) '&&&&&&&a': &&&&&&&A 723 149..157 '&&&&&&&a': &&&&&&&A
724 [150; 157) '&&&&&&a': &&&&&&A 724 150..157 '&&&&&&a': &&&&&&A
725 [151; 157) '&&&&&a': &&&&&A 725 151..157 '&&&&&a': &&&&&A
726 [152; 157) '&&&&a': &&&&A 726 152..157 '&&&&a': &&&&A
727 [153; 157) '&&&a': &&&A 727 153..157 '&&&a': &&&A
728 [154; 157) '&&a': &&A 728 154..157 '&&a': &&A
729 [155; 157) '&a': &A 729 155..157 '&a': &A
730 [156; 157) 'a': A 730 156..157 'a': A
731 [163; 165) 'a4': &&&&&&&A 731 163..165 'a4': &&&&&&&A
732 [163; 167) 'a4.b': B 732 163..167 'a4.b': B
733 [177; 179) 'a5': &mut &&mut &&mut A 733 177..179 'a5': &mut &&mut &&mut A
734 [182; 200) '&mut &...&mut a': &mut &&mut &&mut A 734 182..200 '&mut &...&mut a': &mut &&mut &&mut A
735 [187; 200) '&&mut &&mut a': &&mut &&mut A 735 187..200 '&&mut &&mut a': &&mut &&mut A
736 [188; 200) '&mut &&mut a': &mut &&mut A 736 188..200 '&mut &&mut a': &mut &&mut A
737 [193; 200) '&&mut a': &&mut A 737 193..200 '&&mut a': &&mut A
738 [194; 200) '&mut a': &mut A 738 194..200 '&mut a': &mut A
739 [199; 200) 'a': A 739 199..200 'a': A
740 [206; 208) 'a5': &mut &&mut &&mut A 740 206..208 'a5': &mut &&mut &&mut A
741 [206; 210) 'a5.b': B 741 206..210 'a5.b': B
742 [224; 226) 'a1': *const A 742 224..226 'a1': *const A
743 [238; 240) 'a2': *mut A 743 238..240 'a2': *mut A
744 [250; 273) '{ ...2.b; }': () 744 250..273 '{ ...2.b; }': ()
745 [256; 258) 'a1': *const A 745 256..258 'a1': *const A
746 [256; 260) 'a1.b': B 746 256..260 'a1.b': B
747 [266; 268) 'a2': *mut A 747 266..268 'a2': *mut A
748 [266; 270) 'a2.b': B 748 266..270 'a2.b': B
749 "### 749 "###
750 ); 750 );
751} 751}
@@ -782,30 +782,30 @@ fn test() {
782} 782}
783"#), 783"#),
784 @r###" 784 @r###"
785 [68; 72) 'self': &Self 785 68..72 'self': &Self
786 [139; 143) 'self': &A<T> 786 139..143 'self': &A<T>
787 [151; 174) '{ ... }': &T 787 151..174 '{ ... }': &T
788 [161; 168) '&self.0': &T 788 161..168 '&self.0': &T
789 [162; 166) 'self': &A<T> 789 162..166 'self': &A<T>
790 [162; 168) 'self.0': T 790 162..168 'self.0': T
791 [255; 259) 'self': &B<T> 791 255..259 'self': &B<T>
792 [278; 301) '{ ... }': &T 792 278..301 '{ ... }': &T
793 [288; 295) '&self.0': &T 793 288..295 '&self.0': &T
794 [289; 293) 'self': &B<T> 794 289..293 'self': &B<T>
795 [289; 295) 'self.0': T 795 289..295 'self.0': T
796 [315; 353) '{ ...))); }': () 796 315..353 '{ ...))); }': ()
797 [325; 326) 't': &i32 797 325..326 't': &i32
798 [329; 335) 'A::foo': fn foo<i32>(&A<i32>) -> &i32 798 329..335 'A::foo': fn foo<i32>(&A<i32>) -> &i32
799 [329; 350) 'A::foo...42))))': &i32 799 329..350 'A::foo...42))))': &i32
800 [336; 349) '&&B(B(A(42)))': &&B<B<A<i32>>> 800 336..349 '&&B(B(A(42)))': &&B<B<A<i32>>>
801 [337; 349) '&B(B(A(42)))': &B<B<A<i32>>> 801 337..349 '&B(B(A(42)))': &B<B<A<i32>>>
802 [338; 339) 'B': B<B<A<i32>>>(B<A<i32>>) -> B<B<A<i32>>> 802 338..339 'B': B<B<A<i32>>>(B<A<i32>>) -> B<B<A<i32>>>
803 [338; 349) 'B(B(A(42)))': B<B<A<i32>>> 803 338..349 'B(B(A(42)))': B<B<A<i32>>>
804 [340; 341) 'B': B<A<i32>>(A<i32>) -> B<A<i32>> 804 340..341 'B': B<A<i32>>(A<i32>) -> B<A<i32>>
805 [340; 348) 'B(A(42))': B<A<i32>> 805 340..348 'B(A(42))': B<A<i32>>
806 [342; 343) 'A': A<i32>(i32) -> A<i32> 806 342..343 'A': A<i32>(i32) -> A<i32>
807 [342; 347) 'A(42)': A<i32> 807 342..347 'A(42)': A<i32>
808 [344; 346) '42': i32 808 344..346 '42': i32
809 "### 809 "###
810 ); 810 );
811} 811}
@@ -842,34 +842,34 @@ fn test(a: A<i32>) {
842} 842}
843"#), 843"#),
844 @r###" 844 @r###"
845 [68; 72) 'self': &Self 845 68..72 'self': &Self
846 [144; 148) 'self': &A<T> 846 144..148 'self': &A<T>
847 [150; 151) 'x': &A<T> 847 150..151 'x': &A<T>
848 [166; 187) '{ ... }': &T 848 166..187 '{ ... }': &T
849 [176; 181) '&*x.0': &T 849 176..181 '&*x.0': &T
850 [177; 181) '*x.0': T 850 177..181 '*x.0': T
851 [178; 179) 'x': &A<T> 851 178..179 'x': &A<T>
852 [178; 181) 'x.0': *mut T 852 178..181 'x.0': *mut T
853 [268; 272) 'self': &B<T> 853 268..272 'self': &B<T>
854 [291; 314) '{ ... }': &T 854 291..314 '{ ... }': &T
855 [301; 308) '&self.0': &T 855 301..308 '&self.0': &T
856 [302; 306) 'self': &B<T> 856 302..306 'self': &B<T>
857 [302; 308) 'self.0': T 857 302..308 'self.0': T
858 [326; 327) 'a': A<i32> 858 326..327 'a': A<i32>
859 [337; 383) '{ ...))); }': () 859 337..383 '{ ...))); }': ()
860 [347; 348) 't': &i32 860 347..348 't': &i32
861 [351; 352) 'A': A<i32>(*mut i32) -> A<i32> 861 351..352 'A': A<i32>(*mut i32) -> A<i32>
862 [351; 365) 'A(0 as *mut _)': A<i32> 862 351..365 'A(0 as *mut _)': A<i32>
863 [351; 380) 'A(0 as...B(a)))': &i32 863 351..380 'A(0 as...B(a)))': &i32
864 [353; 354) '0': i32 864 353..354 '0': i32
865 [353; 364) '0 as *mut _': *mut i32 865 353..364 '0 as *mut _': *mut i32
866 [370; 379) '&&B(B(a))': &&B<B<A<i32>>> 866 370..379 '&&B(B(a))': &&B<B<A<i32>>>
867 [371; 379) '&B(B(a))': &B<B<A<i32>>> 867 371..379 '&B(B(a))': &B<B<A<i32>>>
868 [372; 373) 'B': B<B<A<i32>>>(B<A<i32>>) -> B<B<A<i32>>> 868 372..373 'B': B<B<A<i32>>>(B<A<i32>>) -> B<B<A<i32>>>
869 [372; 379) 'B(B(a))': B<B<A<i32>>> 869 372..379 'B(B(a))': B<B<A<i32>>>
870 [374; 375) 'B': B<A<i32>>(A<i32>) -> B<A<i32>> 870 374..375 'B': B<A<i32>>(A<i32>) -> B<A<i32>>
871 [374; 378) 'B(a)': B<A<i32>> 871 374..378 'B(a)': B<A<i32>>
872 [376; 377) 'a': A<i32> 872 376..377 'a': A<i32>
873 "### 873 "###
874 ); 874 );
875} 875}
@@ -888,16 +888,16 @@ fn main(foo: Foo) {
888} 888}
889"#), 889"#),
890 @r###" 890 @r###"
891 [35; 38) 'foo': Foo 891 35..38 'foo': Foo
892 [45; 109) '{ ... } }': () 892 45..109 '{ ... } }': ()
893 [51; 107) 'if tru... }': () 893 51..107 'if tru... }': ()
894 [54; 58) 'true': bool 894 54..58 'true': bool
895 [59; 67) '{ }': () 895 59..67 '{ }': ()
896 [73; 107) 'if fal... }': () 896 73..107 'if fal... }': ()
897 [76; 81) 'false': bool 897 76..81 'false': bool
898 [82; 107) '{ ... }': i32 898 82..107 '{ ... }': i32
899 [92; 95) 'foo': Foo 899 92..95 'foo': Foo
900 [92; 101) 'foo.field': i32 900 92..101 'foo.field': i32
901 "### 901 "###
902 ) 902 )
903} 903}
@@ -929,38 +929,38 @@ fn foo() {
929 }; 929 };
930}"#), 930}"#),
931 @r###" 931 @r###"
932 [10; 323) '{ ... }; }': () 932 10..323 '{ ... }; }': ()
933 [20; 23) '_x1': i32 933 20..23 '_x1': i32
934 [26; 80) 'if tru... }': i32 934 26..80 'if tru... }': i32
935 [29; 33) 'true': bool 935 29..33 'true': bool
936 [34; 51) '{ ... }': i32 936 34..51 '{ ... }': i32
937 [44; 45) '1': i32 937 44..45 '1': i32
938 [57; 80) '{ ... }': ! 938 57..80 '{ ... }': !
939 [67; 73) 'return': ! 939 67..73 'return': !
940 [90; 93) '_x2': i32 940 90..93 '_x2': i32
941 [96; 149) 'if tru... }': i32 941 96..149 'if tru... }': i32
942 [99; 103) 'true': bool 942 99..103 'true': bool
943 [104; 121) '{ ... }': i32 943 104..121 '{ ... }': i32
944 [114; 115) '2': i32 944 114..115 '2': i32
945 [127; 149) '{ ... }': ! 945 127..149 '{ ... }': !
946 [137; 143) 'return': ! 946 137..143 'return': !
947 [159; 162) '_x3': i32 947 159..162 '_x3': i32
948 [165; 247) 'match ... }': i32 948 165..247 'match ... }': i32
949 [171; 175) 'true': bool 949 171..175 'true': bool
950 [186; 190) 'true': bool 950 186..190 'true': bool
951 [186; 190) 'true': bool 951 186..190 'true': bool
952 [194; 195) '3': i32 952 194..195 '3': i32
953 [205; 206) '_': bool 953 205..206 '_': bool
954 [210; 241) '{ ... }': ! 954 210..241 '{ ... }': !
955 [224; 230) 'return': ! 955 224..230 'return': !
956 [257; 260) '_x4': i32 956 257..260 '_x4': i32
957 [263; 320) 'match ... }': i32 957 263..320 'match ... }': i32
958 [269; 273) 'true': bool 958 269..273 'true': bool
959 [284; 288) 'true': bool 959 284..288 'true': bool
960 [284; 288) 'true': bool 960 284..288 'true': bool
961 [292; 293) '4': i32 961 292..293 '4': i32
962 [303; 304) '_': bool 962 303..304 '_': bool
963 [308; 314) 'return': ! 963 308..314 'return': !
964 "### 964 "###
965 ) 965 )
966} 966}
@@ -988,24 +988,24 @@ fn test(a: A) {
988} 988}
989"#), 989"#),
990 @r###" 990 @r###"
991 [32; 36) 'self': A 991 32..36 'self': A
992 [38; 39) 'x': u32 992 38..39 'x': u32
993 [53; 55) '{}': () 993 53..55 '{}': ()
994 [103; 107) 'self': &A 994 103..107 'self': &A
995 [109; 110) 'x': u64 995 109..110 'x': u64
996 [124; 126) '{}': () 996 124..126 '{}': ()
997 [144; 145) 'a': A 997 144..145 'a': A
998 [150; 198) '{ ...(1); }': () 998 150..198 '{ ...(1); }': ()
999 [156; 157) 'a': A 999 156..157 'a': A
1000 [156; 164) 'a.foo(1)': i32 1000 156..164 'a.foo(1)': i32
1001 [162; 163) '1': u32 1001 162..163 '1': u32
1002 [170; 181) '(&a).bar(1)': i64 1002 170..181 '(&a).bar(1)': i64
1003 [171; 173) '&a': &A 1003 171..173 '&a': &A
1004 [172; 173) 'a': A 1004 172..173 'a': A
1005 [179; 180) '1': u64 1005 179..180 '1': u64
1006 [187; 188) 'a': A 1006 187..188 'a': A
1007 [187; 195) 'a.bar(1)': i64 1007 187..195 'a.bar(1)': i64
1008 [193; 194) '1': u64 1008 193..194 '1': u64
1009 "### 1009 "###
1010 ); 1010 );
1011} 1011}
@@ -1024,11 +1024,11 @@ fn test() {
1024} 1024}
1025"#), 1025"#),
1026 @r###" 1026 @r###"
1027 [40; 44) 'self': &str 1027 40..44 'self': &str
1028 [53; 55) '{}': () 1028 53..55 '{}': ()
1029 [69; 89) '{ ...o(); }': () 1029 69..89 '{ ...o(); }': ()
1030 [75; 80) '"foo"': &str 1030 75..80 '"foo"': &str
1031 [75; 86) '"foo".foo()': i32 1031 75..86 '"foo".foo()': i32
1032 "### 1032 "###
1033 ); 1033 );
1034} 1034}
@@ -1047,33 +1047,33 @@ fn test(x: &str, y: isize) {
1047} 1047}
1048"#), 1048"#),
1049 @r###" 1049 @r###"
1050 [9; 10) 'x': &str 1050 9..10 'x': &str
1051 [18; 19) 'y': isize 1051 18..19 'y': isize
1052 [28; 170) '{ ...d"); }': () 1052 28..170 '{ ...d"); }': ()
1053 [38; 39) 'a': (u32, &str) 1053 38..39 'a': (u32, &str)
1054 [55; 63) '(1, "a")': (u32, &str) 1054 55..63 '(1, "a")': (u32, &str)
1055 [56; 57) '1': u32 1055 56..57 '1': u32
1056 [59; 62) '"a"': &str 1056 59..62 '"a"': &str
1057 [73; 74) 'b': ((u32, &str), &str) 1057 73..74 'b': ((u32, &str), &str)
1058 [77; 83) '(a, x)': ((u32, &str), &str) 1058 77..83 '(a, x)': ((u32, &str), &str)
1059 [78; 79) 'a': (u32, &str) 1059 78..79 'a': (u32, &str)
1060 [81; 82) 'x': &str 1060 81..82 'x': &str
1061 [93; 94) 'c': (isize, &str) 1061 93..94 'c': (isize, &str)
1062 [97; 103) '(y, x)': (isize, &str) 1062 97..103 '(y, x)': (isize, &str)
1063 [98; 99) 'y': isize 1063 98..99 'y': isize
1064 [101; 102) 'x': &str 1064 101..102 'x': &str
1065 [113; 114) 'd': ((isize, &str), &str) 1065 113..114 'd': ((isize, &str), &str)
1066 [117; 123) '(c, x)': ((isize, &str), &str) 1066 117..123 '(c, x)': ((isize, &str), &str)
1067 [118; 119) 'c': (isize, &str) 1067 118..119 'c': (isize, &str)
1068 [121; 122) 'x': &str 1068 121..122 'x': &str
1069 [133; 134) 'e': (i32, &str) 1069 133..134 'e': (i32, &str)
1070 [137; 145) '(1, "e")': (i32, &str) 1070 137..145 '(1, "e")': (i32, &str)
1071 [138; 139) '1': i32 1071 138..139 '1': i32
1072 [141; 144) '"e"': &str 1072 141..144 '"e"': &str
1073 [155; 156) 'f': ((i32, &str), &str) 1073 155..156 'f': ((i32, &str), &str)
1074 [159; 167) '(e, "d")': ((i32, &str), &str) 1074 159..167 '(e, "d")': ((i32, &str), &str)
1075 [160; 161) 'e': (i32, &str) 1075 160..161 'e': (i32, &str)
1076 [163; 166) '"d"': &str 1076 163..166 '"d"': &str
1077 "### 1077 "###
1078 ); 1078 );
1079} 1079}
@@ -1101,58 +1101,58 @@ fn test(x: &str, y: isize) {
1101} 1101}
1102"#), 1102"#),
1103 @r###" 1103 @r###"
1104 [9; 10) 'x': &str 1104 9..10 'x': &str
1105 [18; 19) 'y': isize 1105 18..19 'y': isize
1106 [28; 293) '{ ... []; }': () 1106 28..293 '{ ... []; }': ()
1107 [38; 39) 'a': [&str; _] 1107 38..39 'a': [&str; _]
1108 [42; 45) '[x]': [&str; _] 1108 42..45 '[x]': [&str; _]
1109 [43; 44) 'x': &str 1109 43..44 'x': &str
1110 [55; 56) 'b': [[&str; _]; _] 1110 55..56 'b': [[&str; _]; _]
1111 [59; 65) '[a, a]': [[&str; _]; _] 1111 59..65 '[a, a]': [[&str; _]; _]
1112 [60; 61) 'a': [&str; _] 1112 60..61 'a': [&str; _]
1113 [63; 64) 'a': [&str; _] 1113 63..64 'a': [&str; _]
1114 [75; 76) 'c': [[[&str; _]; _]; _] 1114 75..76 'c': [[[&str; _]; _]; _]
1115 [79; 85) '[b, b]': [[[&str; _]; _]; _] 1115 79..85 '[b, b]': [[[&str; _]; _]; _]
1116 [80; 81) 'b': [[&str; _]; _] 1116 80..81 'b': [[&str; _]; _]
1117 [83; 84) 'b': [[&str; _]; _] 1117 83..84 'b': [[&str; _]; _]
1118 [96; 97) 'd': [isize; _] 1118 96..97 'd': [isize; _]
1119 [100; 112) '[y, 1, 2, 3]': [isize; _] 1119 100..112 '[y, 1, 2, 3]': [isize; _]
1120 [101; 102) 'y': isize 1120 101..102 'y': isize
1121 [104; 105) '1': isize 1121 104..105 '1': isize
1122 [107; 108) '2': isize 1122 107..108 '2': isize
1123 [110; 111) '3': isize 1123 110..111 '3': isize
1124 [122; 123) 'd': [isize; _] 1124 122..123 'd': [isize; _]
1125 [126; 138) '[1, y, 2, 3]': [isize; _] 1125 126..138 '[1, y, 2, 3]': [isize; _]
1126 [127; 128) '1': isize 1126 127..128 '1': isize
1127 [130; 131) 'y': isize 1127 130..131 'y': isize
1128 [133; 134) '2': isize 1128 133..134 '2': isize
1129 [136; 137) '3': isize 1129 136..137 '3': isize
1130 [148; 149) 'e': [isize; _] 1130 148..149 'e': [isize; _]
1131 [152; 155) '[y]': [isize; _] 1131 152..155 '[y]': [isize; _]
1132 [153; 154) 'y': isize 1132 153..154 'y': isize
1133 [165; 166) 'f': [[isize; _]; _] 1133 165..166 'f': [[isize; _]; _]
1134 [169; 175) '[d, d]': [[isize; _]; _] 1134 169..175 '[d, d]': [[isize; _]; _]
1135 [170; 171) 'd': [isize; _] 1135 170..171 'd': [isize; _]
1136 [173; 174) 'd': [isize; _] 1136 173..174 'd': [isize; _]
1137 [185; 186) 'g': [[isize; _]; _] 1137 185..186 'g': [[isize; _]; _]
1138 [189; 195) '[e, e]': [[isize; _]; _] 1138 189..195 '[e, e]': [[isize; _]; _]
1139 [190; 191) 'e': [isize; _] 1139 190..191 'e': [isize; _]
1140 [193; 194) 'e': [isize; _] 1140 193..194 'e': [isize; _]
1141 [206; 207) 'h': [i32; _] 1141 206..207 'h': [i32; _]
1142 [210; 216) '[1, 2]': [i32; _] 1142 210..216 '[1, 2]': [i32; _]
1143 [211; 212) '1': i32 1143 211..212 '1': i32
1144 [214; 215) '2': i32 1144 214..215 '2': i32
1145 [226; 227) 'i': [&str; _] 1145 226..227 'i': [&str; _]
1146 [230; 240) '["a", "b"]': [&str; _] 1146 230..240 '["a", "b"]': [&str; _]
1147 [231; 234) '"a"': &str 1147 231..234 '"a"': &str
1148 [236; 239) '"b"': &str 1148 236..239 '"b"': &str
1149 [251; 252) 'b': [[&str; _]; _] 1149 251..252 'b': [[&str; _]; _]
1150 [255; 265) '[a, ["b"]]': [[&str; _]; _] 1150 255..265 '[a, ["b"]]': [[&str; _]; _]
1151 [256; 257) 'a': [&str; _] 1151 256..257 'a': [&str; _]
1152 [259; 264) '["b"]': [&str; _] 1152 259..264 '["b"]': [&str; _]
1153 [260; 263) '"b"': &str 1153 260..263 '"b"': &str
1154 [275; 276) 'x': [u8; _] 1154 275..276 'x': [u8; _]
1155 [288; 290) '[]': [u8; _] 1155 288..290 '[]': [u8; _]
1156 "### 1156 "###
1157 ); 1157 );
1158} 1158}
@@ -1174,21 +1174,21 @@ fn test(a1: A<u32>, i: i32) {
1174} 1174}
1175"#), 1175"#),
1176 @r###" 1176 @r###"
1177 [36; 38) 'a1': A<u32> 1177 36..38 'a1': A<u32>
1178 [48; 49) 'i': i32 1178 48..49 'i': i32
1179 [56; 147) '{ ...3.x; }': () 1179 56..147 '{ ...3.x; }': ()
1180 [62; 64) 'a1': A<u32> 1180 62..64 'a1': A<u32>
1181 [62; 66) 'a1.x': u32 1181 62..66 'a1.x': u32
1182 [76; 78) 'a2': A<i32> 1182 76..78 'a2': A<i32>
1183 [81; 91) 'A { x: i }': A<i32> 1183 81..91 'A { x: i }': A<i32>
1184 [88; 89) 'i': i32 1184 88..89 'i': i32
1185 [97; 99) 'a2': A<i32> 1185 97..99 'a2': A<i32>
1186 [97; 101) 'a2.x': i32 1186 97..101 'a2.x': i32
1187 [111; 113) 'a3': A<i128> 1187 111..113 'a3': A<i128>
1188 [116; 134) 'A::<i1...x: 1 }': A<i128> 1188 116..134 'A::<i1...x: 1 }': A<i128>
1189 [131; 132) '1': i128 1189 131..132 '1': i128
1190 [140; 142) 'a3': A<i128> 1190 140..142 'a3': A<i128>
1191 [140; 144) 'a3.x': i128 1191 140..144 'a3.x': i128
1192 "### 1192 "###
1193 ); 1193 );
1194} 1194}
@@ -1211,22 +1211,22 @@ fn test() {
1211} 1211}
1212"#), 1212"#),
1213 @r###" 1213 @r###"
1214 [76; 184) '{ ...one; }': () 1214 76..184 '{ ...one; }': ()
1215 [82; 83) 'A': A<i32>(i32) -> A<i32> 1215 82..83 'A': A<i32>(i32) -> A<i32>
1216 [82; 87) 'A(42)': A<i32> 1216 82..87 'A(42)': A<i32>
1217 [84; 86) '42': i32 1217 84..86 '42': i32
1218 [93; 94) 'A': A<u128>(u128) -> A<u128> 1218 93..94 'A': A<u128>(u128) -> A<u128>
1219 [93; 102) 'A(42u128)': A<u128> 1219 93..102 'A(42u128)': A<u128>
1220 [95; 101) '42u128': u128 1220 95..101 '42u128': u128
1221 [108; 112) 'Some': Some<&str>(&str) -> Option<&str> 1221 108..112 'Some': Some<&str>(&str) -> Option<&str>
1222 [108; 117) 'Some("x")': Option<&str> 1222 108..117 'Some("x")': Option<&str>
1223 [113; 116) '"x"': &str 1223 113..116 '"x"': &str
1224 [123; 135) 'Option::Some': Some<&str>(&str) -> Option<&str> 1224 123..135 'Option::Some': Some<&str>(&str) -> Option<&str>
1225 [123; 140) 'Option...e("x")': Option<&str> 1225 123..140 'Option...e("x")': Option<&str>
1226 [136; 139) '"x"': &str 1226 136..139 '"x"': &str
1227 [146; 150) 'None': Option<{unknown}> 1227 146..150 'None': Option<{unknown}>
1228 [160; 161) 'x': Option<i64> 1228 160..161 'x': Option<i64>
1229 [177; 181) 'None': Option<i64> 1229 177..181 'None': Option<i64>
1230 "### 1230 "###
1231 ); 1231 );
1232} 1232}
@@ -1244,20 +1244,20 @@ fn test() {
1244} 1244}
1245"#), 1245"#),
1246 @r###" 1246 @r###"
1247 [10; 11) 't': T 1247 10..11 't': T
1248 [21; 26) '{ t }': T 1248 21..26 '{ t }': T
1249 [23; 24) 't': T 1249 23..24 't': T
1250 [38; 98) '{ ...(1); }': () 1250 38..98 '{ ...(1); }': ()
1251 [44; 46) 'id': fn id<u32>(u32) -> u32 1251 44..46 'id': fn id<u32>(u32) -> u32
1252 [44; 52) 'id(1u32)': u32 1252 44..52 'id(1u32)': u32
1253 [47; 51) '1u32': u32 1253 47..51 '1u32': u32
1254 [58; 68) 'id::<i128>': fn id<i128>(i128) -> i128 1254 58..68 'id::<i128>': fn id<i128>(i128) -> i128
1255 [58; 71) 'id::<i128>(1)': i128 1255 58..71 'id::<i128>(1)': i128
1256 [69; 70) '1': i128 1256 69..70 '1': i128
1257 [81; 82) 'x': u64 1257 81..82 'x': u64
1258 [90; 92) 'id': fn id<u64>(u64) -> u64 1258 90..92 'id': fn id<u64>(u64) -> u64
1259 [90; 95) 'id(1)': u64 1259 90..95 'id(1)': u64
1260 [93; 94) '1': u64 1260 93..94 '1': u64
1261 "### 1261 "###
1262 ); 1262 );
1263} 1263}
@@ -1291,38 +1291,38 @@ fn test() -> i128 {
1291} 1291}
1292"#), 1292"#),
1293 @r###" 1293 @r###"
1294 [74; 78) 'self': A<X, Y> 1294 74..78 'self': A<X, Y>
1295 [85; 107) '{ ... }': X 1295 85..107 '{ ... }': X
1296 [95; 99) 'self': A<X, Y> 1296 95..99 'self': A<X, Y>
1297 [95; 101) 'self.x': X 1297 95..101 'self.x': X
1298 [117; 121) 'self': A<X, Y> 1298 117..121 'self': A<X, Y>
1299 [128; 150) '{ ... }': Y 1299 128..150 '{ ... }': Y
1300 [138; 142) 'self': A<X, Y> 1300 138..142 'self': A<X, Y>
1301 [138; 144) 'self.y': Y 1301 138..144 'self.y': Y
1302 [163; 167) 'self': A<X, Y> 1302 163..167 'self': A<X, Y>
1303 [169; 170) 't': T 1303 169..170 't': T
1304 [188; 223) '{ ... }': (X, Y, T) 1304 188..223 '{ ... }': (X, Y, T)
1305 [198; 217) '(self.....y, t)': (X, Y, T) 1305 198..217 '(self.....y, t)': (X, Y, T)
1306 [199; 203) 'self': A<X, Y> 1306 199..203 'self': A<X, Y>
1307 [199; 205) 'self.x': X 1307 199..205 'self.x': X
1308 [207; 211) 'self': A<X, Y> 1308 207..211 'self': A<X, Y>
1309 [207; 213) 'self.y': Y 1309 207..213 'self.y': Y
1310 [215; 216) 't': T 1310 215..216 't': T
1311 [245; 342) '{ ...(1); }': () 1311 245..342 '{ ...(1); }': ()
1312 [255; 256) 'a': A<u64, i64> 1312 255..256 'a': A<u64, i64>
1313 [259; 281) 'A { x:...1i64 }': A<u64, i64> 1313 259..281 'A { x:...1i64 }': A<u64, i64>
1314 [266; 270) '1u64': u64 1314 266..270 '1u64': u64
1315 [275; 279) '1i64': i64 1315 275..279 '1i64': i64
1316 [287; 288) 'a': A<u64, i64> 1316 287..288 'a': A<u64, i64>
1317 [287; 292) 'a.x()': u64 1317 287..292 'a.x()': u64
1318 [298; 299) 'a': A<u64, i64> 1318 298..299 'a': A<u64, i64>
1319 [298; 303) 'a.y()': i64 1319 298..303 'a.y()': i64
1320 [309; 310) 'a': A<u64, i64> 1320 309..310 'a': A<u64, i64>
1321 [309; 319) 'a.z(1i128)': (u64, i64, i128) 1321 309..319 'a.z(1i128)': (u64, i64, i128)
1322 [313; 318) '1i128': i128 1322 313..318 '1i128': i128
1323 [325; 326) 'a': A<u64, i64> 1323 325..326 'a': A<u64, i64>
1324 [325; 339) 'a.z::<u128>(1)': (u64, i64, u128) 1324 325..339 'a.z::<u128>(1)': (u64, i64, u128)
1325 [337; 338) '1': u128 1325 337..338 '1': u128
1326 "### 1326 "###
1327 ); 1327 );
1328} 1328}
@@ -1344,15 +1344,15 @@ fn test(o: Option<u32>) {
1344} 1344}
1345"#), 1345"#),
1346 @r###" 1346 @r###"
1347 [78; 82) 'self': &Option<T> 1347 78..82 'self': &Option<T>
1348 [98; 100) '{}': () 1348 98..100 '{}': ()
1349 [111; 112) 'o': Option<u32> 1349 111..112 'o': Option<u32>
1350 [127; 165) '{ ...f(); }': () 1350 127..165 '{ ...f(); }': ()
1351 [133; 146) '(&o).as_ref()': Option<&u32> 1351 133..146 '(&o).as_ref()': Option<&u32>
1352 [134; 136) '&o': &Option<u32> 1352 134..136 '&o': &Option<u32>
1353 [135; 136) 'o': Option<u32> 1353 135..136 'o': Option<u32>
1354 [152; 153) 'o': Option<u32> 1354 152..153 'o': Option<u32>
1355 [152; 162) 'o.as_ref()': Option<&u32> 1355 152..162 'o.as_ref()': Option<&u32>
1356 "### 1356 "###
1357 ); 1357 );
1358} 1358}
@@ -1381,35 +1381,35 @@ fn test() -> i128 {
1381} 1381}
1382"#), 1382"#),
1383 @r###" 1383 @r###"
1384 [53; 57) 'self': A<T2> 1384 53..57 'self': A<T2>
1385 [65; 87) '{ ... }': T2 1385 65..87 '{ ... }': T2
1386 [75; 79) 'self': A<T2> 1386 75..79 'self': A<T2>
1387 [75; 81) 'self.x': T2 1387 75..81 'self.x': T2
1388 [99; 100) 't': T 1388 99..100 't': T
1389 [110; 115) '{ t }': T 1389 110..115 '{ t }': T
1390 [112; 113) 't': T 1390 112..113 't': T
1391 [135; 261) '{ ....x() }': i128 1391 135..261 '{ ....x() }': i128
1392 [146; 147) 'x': i128 1392 146..147 'x': i128
1393 [150; 151) '1': i128 1393 150..151 '1': i128
1394 [162; 163) 'y': i128 1394 162..163 'y': i128
1395 [166; 168) 'id': fn id<i128>(i128) -> i128 1395 166..168 'id': fn id<i128>(i128) -> i128
1396 [166; 171) 'id(x)': i128 1396 166..171 'id(x)': i128
1397 [169; 170) 'x': i128 1397 169..170 'x': i128
1398 [182; 183) 'a': A<i128> 1398 182..183 'a': A<i128>
1399 [186; 200) 'A { x: id(y) }': A<i128> 1399 186..200 'A { x: id(y) }': A<i128>
1400 [193; 195) 'id': fn id<i128>(i128) -> i128 1400 193..195 'id': fn id<i128>(i128) -> i128
1401 [193; 198) 'id(y)': i128 1401 193..198 'id(y)': i128
1402 [196; 197) 'y': i128 1402 196..197 'y': i128
1403 [211; 212) 'z': i128 1403 211..212 'z': i128
1404 [215; 217) 'id': fn id<i128>(i128) -> i128 1404 215..217 'id': fn id<i128>(i128) -> i128
1405 [215; 222) 'id(a.x)': i128 1405 215..222 'id(a.x)': i128
1406 [218; 219) 'a': A<i128> 1406 218..219 'a': A<i128>
1407 [218; 221) 'a.x': i128 1407 218..221 'a.x': i128
1408 [233; 234) 'b': A<i128> 1408 233..234 'b': A<i128>
1409 [237; 247) 'A { x: z }': A<i128> 1409 237..247 'A { x: z }': A<i128>
1410 [244; 245) 'z': i128 1410 244..245 'z': i128
1411 [254; 255) 'b': A<i128> 1411 254..255 'b': A<i128>
1412 [254; 259) 'b.x()': i128 1412 254..259 'b.x()': i128
1413 "### 1413 "###
1414 ); 1414 );
1415} 1415}
@@ -1447,16 +1447,16 @@ fn test() {
1447} 1447}
1448"#), 1448"#),
1449 @r###" 1449 @r###"
1450 [52; 53) '1': u32 1450 52..53 '1': u32
1451 [105; 106) '2': u32 1451 105..106 '2': u32
1452 [213; 214) '5': u32 1452 213..214 '5': u32
1453 [229; 307) '{ ...:ID; }': () 1453 229..307 '{ ...:ID; }': ()
1454 [239; 240) 'x': u32 1454 239..240 'x': u32
1455 [243; 254) 'Struct::FOO': u32 1455 243..254 'Struct::FOO': u32
1456 [264; 265) 'y': u32 1456 264..265 'y': u32
1457 [268; 277) 'Enum::BAR': u32 1457 268..277 'Enum::BAR': u32
1458 [287; 288) 'z': u32 1458 287..288 'z': u32
1459 [291; 304) 'TraitTest::ID': u32 1459 291..304 'TraitTest::ID': u32
1460 "### 1460 "###
1461 ); 1461 );
1462} 1462}
@@ -1479,22 +1479,22 @@ fn test(x: Foo, y: Bar<&str>, z: Baz<i8, u8>) {
1479} 1479}
1480"#), 1480"#),
1481 @r###" 1481 @r###"
1482 [116; 117) 'x': A<u32, i128> 1482 116..117 'x': A<u32, i128>
1483 [124; 125) 'y': A<&str, u128> 1483 124..125 'y': A<&str, u128>
1484 [138; 139) 'z': A<u8, i8> 1484 138..139 'z': A<u8, i8>
1485 [154; 211) '{ ...z.y; }': () 1485 154..211 '{ ...z.y; }': ()
1486 [160; 161) 'x': A<u32, i128> 1486 160..161 'x': A<u32, i128>
1487 [160; 163) 'x.x': u32 1487 160..163 'x.x': u32
1488 [169; 170) 'x': A<u32, i128> 1488 169..170 'x': A<u32, i128>
1489 [169; 172) 'x.y': i128 1489 169..172 'x.y': i128
1490 [178; 179) 'y': A<&str, u128> 1490 178..179 'y': A<&str, u128>
1491 [178; 181) 'y.x': &str 1491 178..181 'y.x': &str
1492 [187; 188) 'y': A<&str, u128> 1492 187..188 'y': A<&str, u128>
1493 [187; 190) 'y.y': u128 1493 187..190 'y.y': u128
1494 [196; 197) 'z': A<u8, i8> 1494 196..197 'z': A<u8, i8>
1495 [196; 199) 'z.x': u8 1495 196..199 'z.x': u8
1496 [205; 206) 'z': A<u8, i8> 1496 205..206 'z': A<u8, i8>
1497 [205; 208) 'z.y': i8 1497 205..208 'z.y': i8
1498 "### 1498 "###
1499 ) 1499 )
1500} 1500}
@@ -1509,8 +1509,8 @@ type Bar = A<Bar>;
1509fn test(x: Foo) {} 1509fn test(x: Foo) {}
1510"#), 1510"#),
1511 @r###" 1511 @r###"
1512 [59; 60) 'x': {unknown} 1512 59..60 'x': {unknown}
1513 [67; 69) '{}': () 1513 67..69 '{}': ()
1514 "### 1514 "###
1515 ) 1515 )
1516} 1516}
@@ -1535,26 +1535,26 @@ fn test() {
1535} 1535}
1536"#), 1536"#),
1537 @r###" 1537 @r###"
1538 [10; 11) 'x': T 1538 10..11 'x': T
1539 [21; 30) '{ x }': T 1539 21..30 '{ x }': T
1540 [27; 28) 'x': T 1540 27..28 'x': T
1541 [44; 45) 'x': &T 1541 44..45 'x': &T
1542 [56; 66) '{ *x }': T 1542 56..66 '{ *x }': T
1543 [62; 64) '*x': T 1543 62..64 '*x': T
1544 [63; 64) 'x': &T 1544 63..64 'x': &T
1545 [78; 158) '{ ...(1); }': () 1545 78..158 '{ ...(1); }': ()
1546 [88; 89) 'y': u32 1546 88..89 'y': u32
1547 [92; 97) '10u32': u32 1547 92..97 '10u32': u32
1548 [103; 105) 'id': fn id<u32>(u32) -> u32 1548 103..105 'id': fn id<u32>(u32) -> u32
1549 [103; 108) 'id(y)': u32 1549 103..108 'id(y)': u32
1550 [106; 107) 'y': u32 1550 106..107 'y': u32
1551 [118; 119) 'x': bool 1551 118..119 'x': bool
1552 [128; 133) 'clone': fn clone<bool>(&bool) -> bool 1552 128..133 'clone': fn clone<bool>(&bool) -> bool
1553 [128; 136) 'clone(z)': bool 1553 128..136 'clone(z)': bool
1554 [134; 135) 'z': &bool 1554 134..135 'z': &bool
1555 [142; 152) 'id::<i128>': fn id<i128>(i128) -> i128 1555 142..152 'id::<i128>': fn id<i128>(i128) -> i128
1556 [142; 155) 'id::<i128>(1)': i128 1556 142..155 'id::<i128>(1)': i128
1557 [153; 154) '1': i128 1557 153..154 '1': i128
1558 "### 1558 "###
1559 ); 1559 );
1560} 1560}
@@ -1574,16 +1574,16 @@ fn test() {
1574} 1574}
1575"#), 1575"#),
1576 @r###" 1576 @r###"
1577 [49; 50) '0': u32 1577 49..50 '0': u32
1578 [80; 83) '101': u32 1578 80..83 '101': u32
1579 [95; 213) '{ ...NST; }': () 1579 95..213 '{ ...NST; }': ()
1580 [138; 139) 'x': u32 1580 138..139 'x': u32
1581 [142; 153) 'LOCAL_CONST': u32 1581 142..153 'LOCAL_CONST': u32
1582 [163; 164) 'z': u32 1582 163..164 'z': u32
1583 [167; 179) 'GLOBAL_CONST': u32 1583 167..179 'GLOBAL_CONST': u32
1584 [189; 191) 'id': u32 1584 189..191 'id': u32
1585 [194; 210) 'Foo::A..._CONST': u32 1585 194..210 'Foo::A..._CONST': u32
1586 [126; 128) '99': u32 1586 126..128 '99': u32
1587 "### 1587 "###
1588 ); 1588 );
1589} 1589}
@@ -1604,19 +1604,19 @@ fn test() {
1604} 1604}
1605"#), 1605"#),
1606 @r###" 1606 @r###"
1607 [29; 32) '101': u32 1607 29..32 '101': u32
1608 [70; 73) '101': u32 1608 70..73 '101': u32
1609 [85; 280) '{ ...MUT; }': () 1609 85..280 '{ ...MUT; }': ()
1610 [173; 174) 'x': u32 1610 173..174 'x': u32
1611 [177; 189) 'LOCAL_STATIC': u32 1611 177..189 'LOCAL_STATIC': u32
1612 [199; 200) 'y': u32 1612 199..200 'y': u32
1613 [203; 219) 'LOCAL_...IC_MUT': u32 1613 203..219 'LOCAL_...IC_MUT': u32
1614 [229; 230) 'z': u32 1614 229..230 'z': u32
1615 [233; 246) 'GLOBAL_STATIC': u32 1615 233..246 'GLOBAL_STATIC': u32
1616 [256; 257) 'w': u32 1616 256..257 'w': u32
1617 [260; 277) 'GLOBAL...IC_MUT': u32 1617 260..277 'GLOBAL...IC_MUT': u32
1618 [118; 120) '99': u32 1618 118..120 '99': u32
1619 [161; 163) '99': u32 1619 161..163 '99': u32
1620 "### 1620 "###
1621 ); 1621 );
1622} 1622}
@@ -1684,12 +1684,12 @@ fn foo() -> u32 {
1684} 1684}
1685"#), 1685"#),
1686 @r###" 1686 @r###"
1687 [17; 59) '{ ...; }; }': () 1687 17..59 '{ ...; }; }': ()
1688 [27; 28) 'x': || -> usize 1688 27..28 'x': || -> usize
1689 [31; 56) '|| -> ...n 1; }': || -> usize 1689 31..56 '|| -> ...n 1; }': || -> usize
1690 [43; 56) '{ return 1; }': ! 1690 43..56 '{ return 1; }': !
1691 [45; 53) 'return 1': ! 1691 45..53 'return 1': !
1692 [52; 53) '1': usize 1692 52..53 '1': usize
1693 "### 1693 "###
1694 ); 1694 );
1695} 1695}
@@ -1703,11 +1703,11 @@ fn foo() -> u32 {
1703} 1703}
1704"#), 1704"#),
1705 @r###" 1705 @r###"
1706 [17; 48) '{ ...; }; }': () 1706 17..48 '{ ...; }; }': ()
1707 [27; 28) 'x': || -> () 1707 27..28 'x': || -> ()
1708 [31; 45) '|| { return; }': || -> () 1708 31..45 '|| { return; }': || -> ()
1709 [34; 45) '{ return; }': ! 1709 34..45 '{ return; }': !
1710 [36; 42) 'return': ! 1710 36..42 'return': !
1711 "### 1711 "###
1712 ); 1712 );
1713} 1713}
@@ -1721,11 +1721,11 @@ fn foo() -> u32 {
1721} 1721}
1722"#), 1722"#),
1723 @r###" 1723 @r###"
1724 [17; 47) '{ ..." }; }': () 1724 17..47 '{ ..." }; }': ()
1725 [27; 28) 'x': || -> &str 1725 27..28 'x': || -> &str
1726 [31; 44) '|| { "test" }': || -> &str 1726 31..44 '|| { "test" }': || -> &str
1727 [34; 44) '{ "test" }': &str 1727 34..44 '{ "test" }': &str
1728 [36; 42) '"test"': &str 1728 36..42 '"test"': &str
1729 "### 1729 "###
1730 ); 1730 );
1731} 1731}
@@ -1744,14 +1744,14 @@ fn main() {
1744} 1744}
1745"#), 1745"#),
1746 @r###" 1746 @r###"
1747 [48; 121) '{ ...hod; }': () 1747 48..121 '{ ...hod; }': ()
1748 [58; 64) 'vtable': Vtable 1748 58..64 'vtable': Vtable
1749 [67; 91) 'Vtable...| {} }': Vtable 1749 67..91 'Vtable...| {} }': Vtable
1750 [84; 89) '|| {}': || -> () 1750 84..89 '|| {}': || -> ()
1751 [87; 89) '{}': () 1751 87..89 '{}': ()
1752 [101; 102) 'm': fn() 1752 101..102 'm': fn()
1753 [105; 111) 'vtable': Vtable 1753 105..111 'vtable': Vtable
1754 [105; 118) 'vtable.method': fn() 1754 105..118 'vtable.method': fn()
1755 "### 1755 "###
1756 ); 1756 );
1757} 1757}