From 299c8cd914f27a80fde870e9ed5db052a966592e Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 25 Jun 2026 16:53:14 +0200 Subject: [PATCH 1/3] Rust: Add more type inference tests --- .../PathResolutionConsistency.expected | 6 +- .../test/library-tests/type-inference/main.rs | 17 + .../type-inference/type-inference.expected | 14900 ++++++++-------- 3 files changed, 7483 insertions(+), 7440 deletions(-) diff --git a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected index ffc2576a05eb..a4a779dcb69c 100644 --- a/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected +++ b/rust/ql/test/library-tests/type-inference/CONSISTENCY/PathResolutionConsistency.expected @@ -1,5 +1,5 @@ multipleResolvedTargets -| main.rs:2223:9:2223:31 | ... .my_add(...) | -| main.rs:2225:9:2225:29 | ... .my_add(...) | -| main.rs:2740:13:2740:17 | x.f() | +| main.rs:2240:9:2240:31 | ... .my_add(...) | +| main.rs:2242:9:2242:29 | ... .my_add(...) | +| main.rs:2757:13:2757:17 | x.f() | | regressions.rs:179:17:179:27 | ... + ... | diff --git a/rust/ql/test/library-tests/type-inference/main.rs b/rust/ql/test/library-tests/type-inference/main.rs index ddba6c53da86..cbb3a521a6f1 100644 --- a/rust/ql/test/library-tests/type-inference/main.rs +++ b/rust/ql/test/library-tests/type-inference/main.rs @@ -264,6 +264,10 @@ mod method_non_parametric_trait_impl { } } + trait MyTrait2 { + fn m3(self) -> B; + } + trait MyProduct { // MyProduct::fst fn fst(self) -> A; @@ -275,6 +279,10 @@ mod method_non_parametric_trait_impl { x.m1() // $ target=m1 } + fn call_trait_m1_trait2_m3, T3: MyTrait2>(x: T3) -> T1 { + x.m3().m1() // $ target=m1 target=m3 + } + impl MyTrait for MyThing { // MyThing::m1 fn m1(self) -> S1 { @@ -289,6 +297,13 @@ mod method_non_parametric_trait_impl { } } + impl MyTrait2> for MyThing { + // MyThing::m3 + fn m3(self) -> MyThing { + MyThing { a: S1 } + } + } + // Implementation where the type parameter `TD` only occurs in the // implemented trait and not the implementing type. impl MyTrait for MyThing @@ -453,6 +468,8 @@ mod method_non_parametric_trait_impl { let thing = MyThing { a: S1 }; let i = thing.convert_to(); // $ type=i:S1 target=T::convert_to let j = convert_to(thing); // $ target=convert_to $ MISSING: type=j:S1 -- the blanket implementation `impl> ConvertTo for T` is currently not included in the constraint analysis + + let x = call_trait_m1_trait2_m3(MyThing { a: S2 }); // $ target=call_trait_m1_trait2_m3 $ MISSING: type=x:S1 } } diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index 3344fc45f74f..8cb3356c8216 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -1467,2553 +1467,2563 @@ inferCertainType | main.rs:259:15:259:18 | SelfParam | | main.rs:256:5:265:5 | Self [trait MyTrait] | | main.rs:262:9:264:9 | { ... } | | main.rs:256:5:265:5 | Self [trait MyTrait] | | main.rs:263:13:263:16 | self | | main.rs:256:5:265:5 | Self [trait MyTrait] | -| main.rs:269:16:269:19 | SelfParam | | main.rs:267:5:272:5 | Self [trait MyProduct] | -| main.rs:271:16:271:19 | SelfParam | | main.rs:267:5:272:5 | Self [trait MyProduct] | -| main.rs:274:43:274:43 | x | | main.rs:274:26:274:40 | T2 | -| main.rs:274:56:276:5 | { ... } | | main.rs:274:22:274:23 | T1 | -| main.rs:275:9:275:9 | x | | main.rs:274:26:274:40 | T2 | -| main.rs:280:15:280:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | -| main.rs:280:15:280:18 | SelfParam | A | main.rs:249:5:250:14 | S1 | -| main.rs:280:27:282:9 | { ... } | | main.rs:249:5:250:14 | S1 | -| main.rs:281:13:281:16 | self | | main.rs:238:5:241:5 | MyThing | -| main.rs:281:13:281:16 | self | A | main.rs:249:5:250:14 | S1 | -| main.rs:287:15:287:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | -| main.rs:287:15:287:18 | SelfParam | A | main.rs:251:5:252:14 | S2 | -| main.rs:287:29:289:9 | { ... } | | main.rs:238:5:241:5 | MyThing | -| main.rs:287:29:289:9 | { ... } | A | main.rs:251:5:252:14 | S2 | -| main.rs:288:13:288:30 | Self {...} | | main.rs:238:5:241:5 | MyThing | -| main.rs:288:13:288:30 | Self {...} | A | main.rs:251:5:252:14 | S2 | -| main.rs:288:23:288:26 | self | | main.rs:238:5:241:5 | MyThing | -| main.rs:288:23:288:26 | self | A | main.rs:251:5:252:14 | S2 | -| main.rs:299:15:299:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | -| main.rs:299:15:299:18 | SelfParam | A | main.rs:253:5:254:14 | S3 | -| main.rs:299:27:301:9 | { ... } | | main.rs:294:10:294:11 | TD | -| main.rs:306:15:306:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:306:15:306:18 | SelfParam | P1 | main.rs:304:10:304:10 | I | -| main.rs:306:15:306:18 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:306:26:308:9 | { ... } | | main.rs:304:10:304:10 | I | -| main.rs:307:13:307:16 | self | | main.rs:243:5:247:5 | MyPair | -| main.rs:307:13:307:16 | self | P1 | main.rs:304:10:304:10 | I | -| main.rs:307:13:307:16 | self | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:313:15:313:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:313:15:313:18 | SelfParam | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:313:15:313:18 | SelfParam | P2 | main.rs:251:5:252:14 | S2 | -| main.rs:313:27:315:9 | { ... } | | main.rs:253:5:254:14 | S3 | -| main.rs:320:15:320:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:320:15:320:18 | SelfParam | P1 | main.rs:238:5:241:5 | MyThing | -| main.rs:320:15:320:18 | SelfParam | P1.A | main.rs:318:10:318:11 | TT | -| main.rs:320:15:320:18 | SelfParam | P2 | main.rs:253:5:254:14 | S3 | -| main.rs:320:27:323:9 | { ... } | | main.rs:318:10:318:11 | TT | -| main.rs:321:25:321:28 | self | | main.rs:243:5:247:5 | MyPair | -| main.rs:321:25:321:28 | self | P1 | main.rs:238:5:241:5 | MyThing | -| main.rs:321:25:321:28 | self | P1.A | main.rs:318:10:318:11 | TT | -| main.rs:321:25:321:28 | self | P2 | main.rs:253:5:254:14 | S3 | -| main.rs:329:16:329:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:329:16:329:19 | SelfParam | P1 | main.rs:327:10:327:10 | A | -| main.rs:329:16:329:19 | SelfParam | P2 | main.rs:327:10:327:10 | A | -| main.rs:329:27:331:9 | { ... } | | main.rs:327:10:327:10 | A | -| main.rs:330:13:330:16 | self | | main.rs:243:5:247:5 | MyPair | -| main.rs:330:13:330:16 | self | P1 | main.rs:327:10:327:10 | A | -| main.rs:330:13:330:16 | self | P2 | main.rs:327:10:327:10 | A | -| main.rs:334:16:334:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:334:16:334:19 | SelfParam | P1 | main.rs:327:10:327:10 | A | -| main.rs:334:16:334:19 | SelfParam | P2 | main.rs:327:10:327:10 | A | -| main.rs:334:27:336:9 | { ... } | | main.rs:327:10:327:10 | A | -| main.rs:335:13:335:16 | self | | main.rs:243:5:247:5 | MyPair | -| main.rs:335:13:335:16 | self | P1 | main.rs:327:10:327:10 | A | -| main.rs:335:13:335:16 | self | P2 | main.rs:327:10:327:10 | A | -| main.rs:342:16:342:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:342:16:342:19 | SelfParam | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:342:16:342:19 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:342:28:344:9 | { ... } | | main.rs:249:5:250:14 | S1 | -| main.rs:343:13:343:16 | self | | main.rs:243:5:247:5 | MyPair | -| main.rs:343:13:343:16 | self | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:343:13:343:16 | self | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:347:16:347:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:347:16:347:19 | SelfParam | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:347:16:347:19 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:347:28:349:9 | { ... } | | main.rs:251:5:252:14 | S2 | -| main.rs:348:13:348:16 | self | | main.rs:243:5:247:5 | MyPair | -| main.rs:348:13:348:16 | self | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:348:13:348:16 | self | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:352:46:352:46 | p | | main.rs:352:24:352:43 | P | -| main.rs:352:58:354:5 | { ... } | | main.rs:352:16:352:17 | V1 | -| main.rs:353:9:353:9 | p | | main.rs:352:24:352:43 | P | -| main.rs:356:46:356:46 | p | | main.rs:356:24:356:43 | P | -| main.rs:356:58:358:5 | { ... } | | main.rs:356:20:356:21 | V2 | -| main.rs:357:9:357:9 | p | | main.rs:356:24:356:43 | P | -| main.rs:360:54:360:54 | p | | main.rs:243:5:247:5 | MyPair | -| main.rs:360:54:360:54 | p | P1 | main.rs:360:20:360:21 | V0 | -| main.rs:360:54:360:54 | p | P2 | main.rs:360:32:360:51 | P | -| main.rs:360:78:362:5 | { ... } | | main.rs:360:24:360:25 | V1 | -| main.rs:361:9:361:9 | p | | main.rs:243:5:247:5 | MyPair | -| main.rs:361:9:361:9 | p | P1 | main.rs:360:20:360:21 | V0 | -| main.rs:361:9:361:9 | p | P2 | main.rs:360:32:360:51 | P | -| main.rs:366:23:366:26 | SelfParam | | main.rs:364:5:367:5 | Self [trait ConvertTo] | -| main.rs:371:23:371:26 | SelfParam | | main.rs:369:10:369:23 | T | -| main.rs:371:35:373:9 | { ... } | | main.rs:249:5:250:14 | S1 | -| main.rs:372:13:372:16 | self | | main.rs:369:10:369:23 | T | -| main.rs:376:41:376:45 | thing | | main.rs:376:23:376:38 | T | -| main.rs:376:57:378:5 | { ... } | | main.rs:376:19:376:20 | TS | -| main.rs:377:9:377:13 | thing | | main.rs:376:23:376:38 | T | -| main.rs:380:56:380:60 | thing | | main.rs:380:39:380:53 | TP | -| main.rs:380:73:383:5 | { ... } | | main.rs:249:5:250:14 | S1 | -| main.rs:382:9:382:13 | thing | | main.rs:380:39:380:53 | TP | -| main.rs:385:16:456:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:386:13:386:20 | thing_s1 | | main.rs:238:5:241:5 | MyThing | -| main.rs:386:24:386:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | -| main.rs:387:13:387:20 | thing_s2 | | main.rs:238:5:241:5 | MyThing | -| main.rs:387:24:387:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | -| main.rs:388:13:388:20 | thing_s3 | | main.rs:238:5:241:5 | MyThing | -| main.rs:388:24:388:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | -| main.rs:392:18:392:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:392:18:392:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:392:18:392:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:392:18:392:38 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:392:26:392:33 | thing_s1 | | main.rs:238:5:241:5 | MyThing | -| main.rs:393:18:393:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:393:18:393:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:393:18:393:40 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:393:18:393:40 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:393:26:393:33 | thing_s2 | | main.rs:238:5:241:5 | MyThing | -| main.rs:394:13:394:14 | s3 | | main.rs:253:5:254:14 | S3 | -| main.rs:394:22:394:29 | thing_s3 | | main.rs:238:5:241:5 | MyThing | -| main.rs:395:18:395:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:395:18:395:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:395:18:395:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:395:18:395:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:395:26:395:27 | s3 | | main.rs:253:5:254:14 | S3 | -| main.rs:397:13:397:14 | p1 | | main.rs:243:5:247:5 | MyPair | -| main.rs:397:18:397:42 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:398:18:398:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:398:18:398:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:398:18:398:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:398:18:398:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:398:26:398:27 | p1 | | main.rs:243:5:247:5 | MyPair | -| main.rs:400:13:400:14 | p2 | | main.rs:243:5:247:5 | MyPair | -| main.rs:400:18:400:42 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:401:18:401:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:401:18:401:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:401:18:401:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:401:18:401:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:401:26:401:27 | p2 | | main.rs:243:5:247:5 | MyPair | -| main.rs:403:13:403:14 | p3 | | main.rs:243:5:247:5 | MyPair | -| main.rs:403:18:406:9 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:404:17:404:33 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:268:15:268:18 | SelfParam | | main.rs:267:5:269:5 | Self [trait MyTrait2] | +| main.rs:273:16:273:19 | SelfParam | | main.rs:271:5:276:5 | Self [trait MyProduct] | +| main.rs:275:16:275:19 | SelfParam | | main.rs:271:5:276:5 | Self [trait MyProduct] | +| main.rs:278:43:278:43 | x | | main.rs:278:26:278:40 | T2 | +| main.rs:278:56:280:5 | { ... } | | main.rs:278:22:278:23 | T1 | +| main.rs:279:9:279:9 | x | | main.rs:278:26:278:40 | T2 | +| main.rs:282:71:282:71 | x | | main.rs:282:53:282:68 | T3 | +| main.rs:282:84:284:5 | { ... } | | main.rs:282:32:282:33 | T1 | +| main.rs:283:9:283:9 | x | | main.rs:282:53:282:68 | T3 | +| main.rs:288:15:288:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | +| main.rs:288:15:288:18 | SelfParam | A | main.rs:249:5:250:14 | S1 | +| main.rs:288:27:290:9 | { ... } | | main.rs:249:5:250:14 | S1 | +| main.rs:289:13:289:16 | self | | main.rs:238:5:241:5 | MyThing | +| main.rs:289:13:289:16 | self | A | main.rs:249:5:250:14 | S1 | +| main.rs:295:15:295:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | +| main.rs:295:15:295:18 | SelfParam | A | main.rs:251:5:252:14 | S2 | +| main.rs:295:29:297:9 | { ... } | | main.rs:238:5:241:5 | MyThing | +| main.rs:295:29:297:9 | { ... } | A | main.rs:251:5:252:14 | S2 | +| main.rs:296:13:296:30 | Self {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:296:13:296:30 | Self {...} | A | main.rs:251:5:252:14 | S2 | +| main.rs:296:23:296:26 | self | | main.rs:238:5:241:5 | MyThing | +| main.rs:296:23:296:26 | self | A | main.rs:251:5:252:14 | S2 | +| main.rs:302:15:302:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | +| main.rs:302:15:302:18 | SelfParam | A | main.rs:251:5:252:14 | S2 | +| main.rs:302:36:304:9 | { ... } | | main.rs:238:5:241:5 | MyThing | +| main.rs:302:36:304:9 | { ... } | A | main.rs:249:5:250:14 | S1 | +| main.rs:303:13:303:29 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:314:15:314:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | +| main.rs:314:15:314:18 | SelfParam | A | main.rs:253:5:254:14 | S3 | +| main.rs:314:27:316:9 | { ... } | | main.rs:309:10:309:11 | TD | +| main.rs:321:15:321:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:321:15:321:18 | SelfParam | P1 | main.rs:319:10:319:10 | I | +| main.rs:321:15:321:18 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:321:26:323:9 | { ... } | | main.rs:319:10:319:10 | I | +| main.rs:322:13:322:16 | self | | main.rs:243:5:247:5 | MyPair | +| main.rs:322:13:322:16 | self | P1 | main.rs:319:10:319:10 | I | +| main.rs:322:13:322:16 | self | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:328:15:328:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:328:15:328:18 | SelfParam | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:328:15:328:18 | SelfParam | P2 | main.rs:251:5:252:14 | S2 | +| main.rs:328:27:330:9 | { ... } | | main.rs:253:5:254:14 | S3 | +| main.rs:335:15:335:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:335:15:335:18 | SelfParam | P1 | main.rs:238:5:241:5 | MyThing | +| main.rs:335:15:335:18 | SelfParam | P1.A | main.rs:333:10:333:11 | TT | +| main.rs:335:15:335:18 | SelfParam | P2 | main.rs:253:5:254:14 | S3 | +| main.rs:335:27:338:9 | { ... } | | main.rs:333:10:333:11 | TT | +| main.rs:336:25:336:28 | self | | main.rs:243:5:247:5 | MyPair | +| main.rs:336:25:336:28 | self | P1 | main.rs:238:5:241:5 | MyThing | +| main.rs:336:25:336:28 | self | P1.A | main.rs:333:10:333:11 | TT | +| main.rs:336:25:336:28 | self | P2 | main.rs:253:5:254:14 | S3 | +| main.rs:344:16:344:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:344:16:344:19 | SelfParam | P1 | main.rs:342:10:342:10 | A | +| main.rs:344:16:344:19 | SelfParam | P2 | main.rs:342:10:342:10 | A | +| main.rs:344:27:346:9 | { ... } | | main.rs:342:10:342:10 | A | +| main.rs:345:13:345:16 | self | | main.rs:243:5:247:5 | MyPair | +| main.rs:345:13:345:16 | self | P1 | main.rs:342:10:342:10 | A | +| main.rs:345:13:345:16 | self | P2 | main.rs:342:10:342:10 | A | +| main.rs:349:16:349:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:349:16:349:19 | SelfParam | P1 | main.rs:342:10:342:10 | A | +| main.rs:349:16:349:19 | SelfParam | P2 | main.rs:342:10:342:10 | A | +| main.rs:349:27:351:9 | { ... } | | main.rs:342:10:342:10 | A | +| main.rs:350:13:350:16 | self | | main.rs:243:5:247:5 | MyPair | +| main.rs:350:13:350:16 | self | P1 | main.rs:342:10:342:10 | A | +| main.rs:350:13:350:16 | self | P2 | main.rs:342:10:342:10 | A | +| main.rs:357:16:357:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:357:16:357:19 | SelfParam | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:357:16:357:19 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:357:28:359:9 | { ... } | | main.rs:249:5:250:14 | S1 | +| main.rs:358:13:358:16 | self | | main.rs:243:5:247:5 | MyPair | +| main.rs:358:13:358:16 | self | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:358:13:358:16 | self | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:362:16:362:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:362:16:362:19 | SelfParam | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:362:16:362:19 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:362:28:364:9 | { ... } | | main.rs:251:5:252:14 | S2 | +| main.rs:363:13:363:16 | self | | main.rs:243:5:247:5 | MyPair | +| main.rs:363:13:363:16 | self | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:363:13:363:16 | self | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:367:46:367:46 | p | | main.rs:367:24:367:43 | P | +| main.rs:367:58:369:5 | { ... } | | main.rs:367:16:367:17 | V1 | +| main.rs:368:9:368:9 | p | | main.rs:367:24:367:43 | P | +| main.rs:371:46:371:46 | p | | main.rs:371:24:371:43 | P | +| main.rs:371:58:373:5 | { ... } | | main.rs:371:20:371:21 | V2 | +| main.rs:372:9:372:9 | p | | main.rs:371:24:371:43 | P | +| main.rs:375:54:375:54 | p | | main.rs:243:5:247:5 | MyPair | +| main.rs:375:54:375:54 | p | P1 | main.rs:375:20:375:21 | V0 | +| main.rs:375:54:375:54 | p | P2 | main.rs:375:32:375:51 | P | +| main.rs:375:78:377:5 | { ... } | | main.rs:375:24:375:25 | V1 | +| main.rs:376:9:376:9 | p | | main.rs:243:5:247:5 | MyPair | +| main.rs:376:9:376:9 | p | P1 | main.rs:375:20:375:21 | V0 | +| main.rs:376:9:376:9 | p | P2 | main.rs:375:32:375:51 | P | +| main.rs:381:23:381:26 | SelfParam | | main.rs:379:5:382:5 | Self [trait ConvertTo] | +| main.rs:386:23:386:26 | SelfParam | | main.rs:384:10:384:23 | T | +| main.rs:386:35:388:9 | { ... } | | main.rs:249:5:250:14 | S1 | +| main.rs:387:13:387:16 | self | | main.rs:384:10:384:23 | T | +| main.rs:391:41:391:45 | thing | | main.rs:391:23:391:38 | T | +| main.rs:391:57:393:5 | { ... } | | main.rs:391:19:391:20 | TS | +| main.rs:392:9:392:13 | thing | | main.rs:391:23:391:38 | T | +| main.rs:395:56:395:60 | thing | | main.rs:395:39:395:53 | TP | +| main.rs:395:73:398:5 | { ... } | | main.rs:249:5:250:14 | S1 | +| main.rs:397:9:397:13 | thing | | main.rs:395:39:395:53 | TP | +| main.rs:400:16:473:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:401:13:401:20 | thing_s1 | | main.rs:238:5:241:5 | MyThing | +| main.rs:401:24:401:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:402:13:402:20 | thing_s2 | | main.rs:238:5:241:5 | MyThing | +| main.rs:402:24:402:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:403:13:403:20 | thing_s3 | | main.rs:238:5:241:5 | MyThing | +| main.rs:403:24:403:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | | main.rs:407:18:407:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:407:18:407:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:407:18:407:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:407:18:407:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:407:26:407:27 | p3 | | main.rs:243:5:247:5 | MyPair | -| main.rs:410:13:410:13 | a | | main.rs:243:5:247:5 | MyPair | -| main.rs:410:17:410:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:411:17:411:17 | a | | main.rs:243:5:247:5 | MyPair | -| main.rs:412:18:412:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:412:18:412:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:412:18:412:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:412:18:412:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:413:17:413:17 | a | | main.rs:243:5:247:5 | MyPair | -| main.rs:414:18:414:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:414:18:414:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:414:18:414:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:414:18:414:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:420:13:420:13 | b | | main.rs:243:5:247:5 | MyPair | -| main.rs:420:17:420:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:421:17:421:17 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:407:18:407:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:407:18:407:38 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:407:26:407:33 | thing_s1 | | main.rs:238:5:241:5 | MyThing | +| main.rs:408:18:408:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:408:18:408:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:408:18:408:40 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:408:18:408:40 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:408:26:408:33 | thing_s2 | | main.rs:238:5:241:5 | MyThing | +| main.rs:409:13:409:14 | s3 | | main.rs:253:5:254:14 | S3 | +| main.rs:409:22:409:29 | thing_s3 | | main.rs:238:5:241:5 | MyThing | +| main.rs:410:18:410:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:410:18:410:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:410:18:410:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:410:18:410:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:410:26:410:27 | s3 | | main.rs:253:5:254:14 | S3 | +| main.rs:412:13:412:14 | p1 | | main.rs:243:5:247:5 | MyPair | +| main.rs:412:18:412:42 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:413:18:413:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:413:18:413:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:413:18:413:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:413:18:413:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:413:26:413:27 | p1 | | main.rs:243:5:247:5 | MyPair | +| main.rs:415:13:415:14 | p2 | | main.rs:243:5:247:5 | MyPair | +| main.rs:415:18:415:42 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:416:18:416:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:416:18:416:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:416:18:416:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:416:18:416:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:416:26:416:27 | p2 | | main.rs:243:5:247:5 | MyPair | +| main.rs:418:13:418:14 | p3 | | main.rs:243:5:247:5 | MyPair | +| main.rs:418:18:421:9 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:419:17:419:33 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | | main.rs:422:18:422:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:422:18:422:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:422:18:422:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:422:18:422:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:423:17:423:17 | b | | main.rs:243:5:247:5 | MyPair | -| main.rs:424:18:424:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:424:18:424:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:424:18:424:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:424:18:424:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:428:31:428:38 | thing_s1 | | main.rs:238:5:241:5 | MyThing | +| main.rs:422:18:422:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:422:18:422:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:422:26:422:27 | p3 | | main.rs:243:5:247:5 | MyPair | +| main.rs:425:13:425:13 | a | | main.rs:243:5:247:5 | MyPair | +| main.rs:425:17:425:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:426:17:426:17 | a | | main.rs:243:5:247:5 | MyPair | +| main.rs:427:18:427:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:427:18:427:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:427:18:427:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:427:18:427:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:428:17:428:17 | a | | main.rs:243:5:247:5 | MyPair | | main.rs:429:18:429:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:429:18:429:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:429:18:429:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:429:18:429:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:430:31:430:38 | thing_s2 | | main.rs:238:5:241:5 | MyThing | -| main.rs:431:18:431:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:431:18:431:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:431:18:431:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:431:18:431:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:434:13:434:13 | a | | main.rs:243:5:247:5 | MyPair | -| main.rs:434:17:434:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:435:25:435:25 | a | | main.rs:243:5:247:5 | MyPair | -| main.rs:436:18:436:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:436:18:436:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:436:18:436:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:436:18:436:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:437:25:437:25 | a | | main.rs:243:5:247:5 | MyPair | -| main.rs:438:18:438:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:438:18:438:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:438:18:438:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:438:18:438:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:441:13:441:13 | b | | main.rs:243:5:247:5 | MyPair | -| main.rs:441:17:441:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:442:25:442:25 | b | | main.rs:243:5:247:5 | MyPair | -| main.rs:443:18:443:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:443:18:443:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:443:18:443:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:443:18:443:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:444:25:444:25 | b | | main.rs:243:5:247:5 | MyPair | -| main.rs:445:18:445:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:445:18:445:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:445:18:445:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:445:18:445:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:447:13:447:13 | c | | main.rs:243:5:247:5 | MyPair | -| main.rs:447:17:450:9 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:435:13:435:13 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:435:17:435:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:436:17:436:17 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:437:18:437:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:437:18:437:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:437:18:437:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:437:18:437:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:438:17:438:17 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:439:18:439:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:439:18:439:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:439:18:439:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:439:18:439:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:443:31:443:38 | thing_s1 | | main.rs:238:5:241:5 | MyThing | +| main.rs:444:18:444:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:444:18:444:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:444:18:444:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:444:18:444:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:445:31:445:38 | thing_s2 | | main.rs:238:5:241:5 | MyThing | +| main.rs:446:18:446:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:446:18:446:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:446:18:446:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:446:18:446:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:449:13:449:13 | a | | main.rs:243:5:247:5 | MyPair | | main.rs:449:17:449:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:451:29:451:29 | c | | main.rs:243:5:247:5 | MyPair | -| main.rs:453:13:453:17 | thing | | main.rs:238:5:241:5 | MyThing | -| main.rs:453:21:453:37 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | -| main.rs:454:17:454:21 | thing | | main.rs:238:5:241:5 | MyThing | -| main.rs:455:28:455:32 | thing | | main.rs:238:5:241:5 | MyThing | -| main.rs:474:19:474:22 | SelfParam | | main.rs:472:5:475:5 | Self [trait FirstTrait] | -| main.rs:479:19:479:22 | SelfParam | | main.rs:477:5:480:5 | Self [trait SecondTrait] | -| main.rs:482:64:482:64 | x | | main.rs:482:45:482:61 | T | -| main.rs:482:70:486:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:484:18:484:18 | x | | main.rs:482:45:482:61 | T | -| main.rs:485:18:485:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:485:18:485:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:485:18:485:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:485:18:485:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:488:65:488:65 | x | | main.rs:488:46:488:62 | T | -| main.rs:488:71:492:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:490:18:490:18 | x | | main.rs:488:46:488:62 | T | -| main.rs:491:18:491:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:491:18:491:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:491:18:491:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:491:18:491:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:494:49:494:49 | x | | main.rs:494:30:494:46 | T | -| main.rs:494:55:497:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:495:17:495:17 | x | | main.rs:494:30:494:46 | T | -| main.rs:496:18:496:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:496:18:496:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:496:18:496:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:496:18:496:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:499:53:499:53 | x | | main.rs:499:34:499:50 | T | -| main.rs:499:59:502:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:500:17:500:17 | x | | main.rs:499:34:499:50 | T | -| main.rs:501:18:501:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:501:18:501:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:501:18:501:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:501:18:501:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:504:43:504:43 | x | | main.rs:504:40:504:40 | T | -| main.rs:507:5:510:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:508:17:508:17 | x | | main.rs:504:40:504:40 | T | -| main.rs:509:18:509:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:509:18:509:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:509:18:509:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:509:18:509:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:513:16:513:19 | SelfParam | | main.rs:512:5:516:5 | Self [trait Pair] | -| main.rs:515:16:515:19 | SelfParam | | main.rs:512:5:516:5 | Self [trait Pair] | -| main.rs:518:53:518:53 | x | | main.rs:518:50:518:50 | T | -| main.rs:518:59:518:59 | y | | main.rs:518:50:518:50 | T | -| main.rs:522:5:525:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:523:17:523:17 | x | | main.rs:518:50:518:50 | T | -| main.rs:524:17:524:17 | y | | main.rs:518:50:518:50 | T | -| main.rs:527:58:527:58 | x | | main.rs:527:41:527:55 | T | -| main.rs:527:64:527:64 | y | | main.rs:527:41:527:55 | T | -| main.rs:527:70:532:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:529:18:529:18 | x | | main.rs:527:41:527:55 | T | -| main.rs:530:18:530:18 | y | | main.rs:527:41:527:55 | T | -| main.rs:531:18:531:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:531:18:531:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:531:18:531:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:531:18:531:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:534:69:534:69 | x | | main.rs:534:52:534:66 | T | -| main.rs:534:75:534:75 | y | | main.rs:534:52:534:66 | T | -| main.rs:534:81:539:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:536:18:536:18 | x | | main.rs:534:52:534:66 | T | -| main.rs:537:18:537:18 | y | | main.rs:534:52:534:66 | T | -| main.rs:538:18:538:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:538:18:538:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:538:18:538:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:538:18:538:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:541:50:541:50 | x | | main.rs:541:41:541:47 | T | -| main.rs:541:56:541:56 | y | | main.rs:541:41:541:47 | T | -| main.rs:541:62:546:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:543:18:543:18 | x | | main.rs:541:41:541:47 | T | -| main.rs:544:18:544:18 | y | | main.rs:541:41:541:47 | T | -| main.rs:545:18:545:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:545:18:545:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:545:18:545:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:545:18:545:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:548:54:548:54 | x | | main.rs:548:41:548:51 | T | -| main.rs:548:60:548:60 | y | | main.rs:548:41:548:51 | T | -| main.rs:548:66:553:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:550:18:550:18 | x | | main.rs:548:41:548:51 | T | -| main.rs:551:18:551:18 | y | | main.rs:548:41:548:51 | T | -| main.rs:552:18:552:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:552:18:552:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:552:18:552:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:552:18:552:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:560:18:560:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:560:18:560:22 | SelfParam | TRef | main.rs:557:5:561:5 | Self [trait TraitWithSelfTp] | -| main.rs:563:40:563:44 | thing | | {EXTERNAL LOCATION} | & | -| main.rs:563:40:563:44 | thing | TRef | main.rs:563:17:563:37 | T | -| main.rs:563:56:565:5 | { ... } | | main.rs:563:14:563:14 | A | -| main.rs:564:9:564:13 | thing | | {EXTERNAL LOCATION} | & | -| main.rs:564:9:564:13 | thing | TRef | main.rs:563:17:563:37 | T | -| main.rs:568:44:568:48 | thing | | main.rs:568:24:568:41 | S | -| main.rs:568:61:571:5 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:569:19:569:23 | thing | | main.rs:568:24:568:41 | S | -| main.rs:576:55:576:59 | thing | | {EXTERNAL LOCATION} | & | -| main.rs:576:55:576:59 | thing | TRef | main.rs:576:25:576:52 | S | -| main.rs:576:66:579:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:578:25:578:29 | thing | | {EXTERNAL LOCATION} | & | -| main.rs:578:25:578:29 | thing | TRef | main.rs:576:25:576:52 | S | -| main.rs:587:18:587:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:587:18:587:22 | SelfParam | TRef | main.rs:581:5:583:5 | MyStruct | -| main.rs:587:41:589:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:587:41:589:9 | { ... } | T | main.rs:581:5:583:5 | MyStruct | -| main.rs:588:18:588:47 | MyStruct {...} | | main.rs:581:5:583:5 | MyStruct | -| main.rs:588:36:588:39 | self | | {EXTERNAL LOCATION} | & | -| main.rs:588:36:588:39 | self | TRef | main.rs:581:5:583:5 | MyStruct | -| main.rs:594:19:597:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:595:13:595:13 | s | | main.rs:581:5:583:5 | MyStruct | -| main.rs:595:17:595:37 | MyStruct {...} | | main.rs:581:5:583:5 | MyStruct | -| main.rs:596:25:596:26 | &s | | {EXTERNAL LOCATION} | & | -| main.rs:596:26:596:26 | s | | main.rs:581:5:583:5 | MyStruct | -| main.rs:612:15:612:18 | SelfParam | | main.rs:611:5:622:5 | Self [trait MyTrait] | -| main.rs:614:15:614:18 | SelfParam | | main.rs:611:5:622:5 | Self [trait MyTrait] | -| main.rs:617:9:619:9 | { ... } | | main.rs:611:19:611:19 | A | -| main.rs:618:13:618:16 | self | | main.rs:611:5:622:5 | Self [trait MyTrait] | -| main.rs:621:18:621:18 | x | | main.rs:611:5:622:5 | Self [trait MyTrait] | -| main.rs:625:15:625:18 | SelfParam | | main.rs:608:5:609:14 | S2 | -| main.rs:625:26:627:9 | { ... } | | main.rs:624:10:624:19 | T | -| main.rs:629:18:629:18 | x | | main.rs:608:5:609:14 | S2 | -| main.rs:629:32:631:9 | { ... } | | main.rs:624:10:624:19 | T | -| main.rs:635:15:635:18 | SelfParam | | main.rs:606:5:607:14 | S1 | -| main.rs:635:28:637:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:639:18:639:18 | x | | main.rs:606:5:607:14 | S1 | -| main.rs:639:34:641:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:646:50:646:50 | x | | main.rs:646:26:646:47 | T2 | -| main.rs:646:63:649:5 | { ... } | | main.rs:646:22:646:23 | T1 | -| main.rs:647:9:647:9 | x | | main.rs:646:26:646:47 | T2 | -| main.rs:648:9:648:9 | x | | main.rs:646:26:646:47 | T2 | -| main.rs:650:52:650:52 | x | | main.rs:650:28:650:49 | T2 | -| main.rs:650:65:654:5 | { ... } | | main.rs:650:24:650:25 | T1 | -| main.rs:651:24:651:24 | x | | main.rs:650:28:650:49 | T2 | -| main.rs:653:16:653:16 | x | | main.rs:650:28:650:49 | T2 | -| main.rs:655:52:655:52 | x | | main.rs:655:28:655:49 | T2 | -| main.rs:655:65:659:5 | { ... } | | main.rs:655:24:655:25 | T1 | -| main.rs:656:29:656:29 | x | | main.rs:655:28:655:49 | T2 | -| main.rs:658:21:658:21 | x | | main.rs:655:28:655:49 | T2 | -| main.rs:660:55:660:55 | x | | main.rs:660:31:660:52 | T2 | -| main.rs:660:68:664:5 | { ... } | | main.rs:660:27:660:28 | T1 | -| main.rs:661:27:661:27 | x | | main.rs:660:31:660:52 | T2 | -| main.rs:663:19:663:19 | x | | main.rs:660:31:660:52 | T2 | -| main.rs:665:55:665:55 | x | | main.rs:665:31:665:52 | T2 | -| main.rs:665:68:669:5 | { ... } | | main.rs:665:27:665:28 | T1 | -| main.rs:666:32:666:32 | x | | main.rs:665:31:665:52 | T2 | -| main.rs:668:24:668:24 | x | | main.rs:665:31:665:52 | T2 | -| main.rs:673:49:673:49 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:673:49:673:49 | x | T | main.rs:673:32:673:46 | T2 | -| main.rs:673:71:675:5 | { ... } | | main.rs:673:28:673:29 | T1 | -| main.rs:674:9:674:9 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:674:9:674:9 | x | T | main.rs:673:32:673:46 | T2 | -| main.rs:676:51:676:51 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:676:51:676:51 | x | T | main.rs:676:34:676:48 | T2 | -| main.rs:676:73:678:5 | { ... } | | main.rs:676:30:676:31 | T1 | -| main.rs:677:16:677:16 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:677:16:677:16 | x | T | main.rs:676:34:676:48 | T2 | -| main.rs:679:51:679:51 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:679:51:679:51 | x | T | main.rs:679:34:679:48 | T2 | -| main.rs:679:73:681:5 | { ... } | | main.rs:679:30:679:31 | T1 | -| main.rs:680:21:680:21 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:680:21:680:21 | x | T | main.rs:679:34:679:48 | T2 | -| main.rs:684:15:684:18 | SelfParam | | main.rs:601:5:604:5 | MyThing | -| main.rs:684:15:684:18 | SelfParam | T | main.rs:683:10:683:10 | T | -| main.rs:684:26:686:9 | { ... } | | main.rs:683:10:683:10 | T | -| main.rs:685:13:685:16 | self | | main.rs:601:5:604:5 | MyThing | -| main.rs:685:13:685:16 | self | T | main.rs:683:10:683:10 | T | -| main.rs:688:18:688:18 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:688:18:688:18 | x | T | main.rs:683:10:683:10 | T | -| main.rs:688:32:690:9 | { ... } | | main.rs:683:10:683:10 | T | -| main.rs:689:13:689:13 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:689:13:689:13 | x | T | main.rs:683:10:683:10 | T | -| main.rs:695:15:695:18 | SelfParam | | main.rs:693:5:696:5 | Self [trait MyTrait2] | -| main.rs:700:15:700:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:700:15:700:19 | SelfParam | TRef | main.rs:698:5:701:5 | Self [trait MyTrait3] | -| main.rs:703:46:703:46 | x | | main.rs:703:22:703:43 | T | -| main.rs:703:52:703:52 | y | | {EXTERNAL LOCATION} | & | -| main.rs:703:52:703:52 | y | TRef | main.rs:703:22:703:43 | T | -| main.rs:703:59:706:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:704:9:704:9 | x | | main.rs:703:22:703:43 | T | -| main.rs:705:9:705:9 | y | | {EXTERNAL LOCATION} | & | -| main.rs:705:9:705:9 | y | TRef | main.rs:703:22:703:43 | T | -| main.rs:708:16:766:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:709:13:709:13 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:709:17:709:33 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:710:13:710:13 | y | | main.rs:601:5:604:5 | MyThing | -| main.rs:710:17:710:33 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:712:18:712:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:712:18:712:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:712:18:712:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:712:18:712:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:712:26:712:26 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:713:18:713:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:713:18:713:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:713:18:713:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:713:18:713:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:713:26:713:26 | y | | main.rs:601:5:604:5 | MyThing | -| main.rs:715:13:715:13 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:715:17:715:33 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:716:13:716:13 | y | | main.rs:601:5:604:5 | MyThing | -| main.rs:716:17:716:33 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:718:18:718:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:718:18:718:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:718:18:718:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:718:18:718:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:718:26:718:26 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:719:18:719:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:719:18:719:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:719:18:719:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:719:18:719:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:719:26:719:26 | y | | main.rs:601:5:604:5 | MyThing | -| main.rs:721:13:721:14 | x2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:721:18:721:34 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:722:13:722:14 | y2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:722:18:722:34 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:724:31:724:32 | x2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:725:18:725:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:725:18:725:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:725:18:725:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:725:18:725:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:726:33:726:34 | x2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:727:18:727:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:727:18:727:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:727:18:727:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:727:18:727:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:728:33:728:34 | x2 | | main.rs:601:5:604:5 | MyThing | +| main.rs:450:25:450:25 | a | | main.rs:243:5:247:5 | MyPair | +| main.rs:451:18:451:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:451:18:451:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:451:18:451:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:451:18:451:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:452:25:452:25 | a | | main.rs:243:5:247:5 | MyPair | +| main.rs:453:18:453:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:453:18:453:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:453:18:453:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:453:18:453:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:456:13:456:13 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:456:17:456:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:457:25:457:25 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:458:18:458:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:458:18:458:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:458:18:458:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:458:18:458:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:459:25:459:25 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:460:18:460:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:460:18:460:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:460:18:460:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:460:18:460:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:462:13:462:13 | c | | main.rs:243:5:247:5 | MyPair | +| main.rs:462:17:465:9 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:464:17:464:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:466:29:466:29 | c | | main.rs:243:5:247:5 | MyPair | +| main.rs:468:13:468:17 | thing | | main.rs:238:5:241:5 | MyThing | +| main.rs:468:21:468:37 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:469:17:469:21 | thing | | main.rs:238:5:241:5 | MyThing | +| main.rs:470:28:470:32 | thing | | main.rs:238:5:241:5 | MyThing | +| main.rs:472:41:472:57 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:491:19:491:22 | SelfParam | | main.rs:489:5:492:5 | Self [trait FirstTrait] | +| main.rs:496:19:496:22 | SelfParam | | main.rs:494:5:497:5 | Self [trait SecondTrait] | +| main.rs:499:64:499:64 | x | | main.rs:499:45:499:61 | T | +| main.rs:499:70:503:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:501:18:501:18 | x | | main.rs:499:45:499:61 | T | +| main.rs:502:18:502:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:502:18:502:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:502:18:502:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:502:18:502:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:505:65:505:65 | x | | main.rs:505:46:505:62 | T | +| main.rs:505:71:509:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:507:18:507:18 | x | | main.rs:505:46:505:62 | T | +| main.rs:508:18:508:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:508:18:508:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:508:18:508:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:508:18:508:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:511:49:511:49 | x | | main.rs:511:30:511:46 | T | +| main.rs:511:55:514:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:512:17:512:17 | x | | main.rs:511:30:511:46 | T | +| main.rs:513:18:513:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:513:18:513:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:513:18:513:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:513:18:513:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:516:53:516:53 | x | | main.rs:516:34:516:50 | T | +| main.rs:516:59:519:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:517:17:517:17 | x | | main.rs:516:34:516:50 | T | +| main.rs:518:18:518:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:518:18:518:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:518:18:518:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:518:18:518:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:521:43:521:43 | x | | main.rs:521:40:521:40 | T | +| main.rs:524:5:527:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:525:17:525:17 | x | | main.rs:521:40:521:40 | T | +| main.rs:526:18:526:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:526:18:526:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:526:18:526:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:526:18:526:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:530:16:530:19 | SelfParam | | main.rs:529:5:533:5 | Self [trait Pair] | +| main.rs:532:16:532:19 | SelfParam | | main.rs:529:5:533:5 | Self [trait Pair] | +| main.rs:535:53:535:53 | x | | main.rs:535:50:535:50 | T | +| main.rs:535:59:535:59 | y | | main.rs:535:50:535:50 | T | +| main.rs:539:5:542:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:540:17:540:17 | x | | main.rs:535:50:535:50 | T | +| main.rs:541:17:541:17 | y | | main.rs:535:50:535:50 | T | +| main.rs:544:58:544:58 | x | | main.rs:544:41:544:55 | T | +| main.rs:544:64:544:64 | y | | main.rs:544:41:544:55 | T | +| main.rs:544:70:549:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:546:18:546:18 | x | | main.rs:544:41:544:55 | T | +| main.rs:547:18:547:18 | y | | main.rs:544:41:544:55 | T | +| main.rs:548:18:548:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:548:18:548:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:548:18:548:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:548:18:548:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:551:69:551:69 | x | | main.rs:551:52:551:66 | T | +| main.rs:551:75:551:75 | y | | main.rs:551:52:551:66 | T | +| main.rs:551:81:556:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:553:18:553:18 | x | | main.rs:551:52:551:66 | T | +| main.rs:554:18:554:18 | y | | main.rs:551:52:551:66 | T | +| main.rs:555:18:555:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:555:18:555:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:555:18:555:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:555:18:555:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:558:50:558:50 | x | | main.rs:558:41:558:47 | T | +| main.rs:558:56:558:56 | y | | main.rs:558:41:558:47 | T | +| main.rs:558:62:563:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:560:18:560:18 | x | | main.rs:558:41:558:47 | T | +| main.rs:561:18:561:18 | y | | main.rs:558:41:558:47 | T | +| main.rs:562:18:562:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:562:18:562:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:562:18:562:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:562:18:562:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:565:54:565:54 | x | | main.rs:565:41:565:51 | T | +| main.rs:565:60:565:60 | y | | main.rs:565:41:565:51 | T | +| main.rs:565:66:570:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:567:18:567:18 | x | | main.rs:565:41:565:51 | T | +| main.rs:568:18:568:18 | y | | main.rs:565:41:565:51 | T | +| main.rs:569:18:569:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:569:18:569:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:569:18:569:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:569:18:569:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:577:18:577:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:577:18:577:22 | SelfParam | TRef | main.rs:574:5:578:5 | Self [trait TraitWithSelfTp] | +| main.rs:580:40:580:44 | thing | | {EXTERNAL LOCATION} | & | +| main.rs:580:40:580:44 | thing | TRef | main.rs:580:17:580:37 | T | +| main.rs:580:56:582:5 | { ... } | | main.rs:580:14:580:14 | A | +| main.rs:581:9:581:13 | thing | | {EXTERNAL LOCATION} | & | +| main.rs:581:9:581:13 | thing | TRef | main.rs:580:17:580:37 | T | +| main.rs:585:44:585:48 | thing | | main.rs:585:24:585:41 | S | +| main.rs:585:61:588:5 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:586:19:586:23 | thing | | main.rs:585:24:585:41 | S | +| main.rs:593:55:593:59 | thing | | {EXTERNAL LOCATION} | & | +| main.rs:593:55:593:59 | thing | TRef | main.rs:593:25:593:52 | S | +| main.rs:593:66:596:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:595:25:595:29 | thing | | {EXTERNAL LOCATION} | & | +| main.rs:595:25:595:29 | thing | TRef | main.rs:593:25:593:52 | S | +| main.rs:604:18:604:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:604:18:604:22 | SelfParam | TRef | main.rs:598:5:600:5 | MyStruct | +| main.rs:604:41:606:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:604:41:606:9 | { ... } | T | main.rs:598:5:600:5 | MyStruct | +| main.rs:605:18:605:47 | MyStruct {...} | | main.rs:598:5:600:5 | MyStruct | +| main.rs:605:36:605:39 | self | | {EXTERNAL LOCATION} | & | +| main.rs:605:36:605:39 | self | TRef | main.rs:598:5:600:5 | MyStruct | +| main.rs:611:19:614:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:612:13:612:13 | s | | main.rs:598:5:600:5 | MyStruct | +| main.rs:612:17:612:37 | MyStruct {...} | | main.rs:598:5:600:5 | MyStruct | +| main.rs:613:25:613:26 | &s | | {EXTERNAL LOCATION} | & | +| main.rs:613:26:613:26 | s | | main.rs:598:5:600:5 | MyStruct | +| main.rs:629:15:629:18 | SelfParam | | main.rs:628:5:639:5 | Self [trait MyTrait] | +| main.rs:631:15:631:18 | SelfParam | | main.rs:628:5:639:5 | Self [trait MyTrait] | +| main.rs:634:9:636:9 | { ... } | | main.rs:628:19:628:19 | A | +| main.rs:635:13:635:16 | self | | main.rs:628:5:639:5 | Self [trait MyTrait] | +| main.rs:638:18:638:18 | x | | main.rs:628:5:639:5 | Self [trait MyTrait] | +| main.rs:642:15:642:18 | SelfParam | | main.rs:625:5:626:14 | S2 | +| main.rs:642:26:644:9 | { ... } | | main.rs:641:10:641:19 | T | +| main.rs:646:18:646:18 | x | | main.rs:625:5:626:14 | S2 | +| main.rs:646:32:648:9 | { ... } | | main.rs:641:10:641:19 | T | +| main.rs:652:15:652:18 | SelfParam | | main.rs:623:5:624:14 | S1 | +| main.rs:652:28:654:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:656:18:656:18 | x | | main.rs:623:5:624:14 | S1 | +| main.rs:656:34:658:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:663:50:663:50 | x | | main.rs:663:26:663:47 | T2 | +| main.rs:663:63:666:5 | { ... } | | main.rs:663:22:663:23 | T1 | +| main.rs:664:9:664:9 | x | | main.rs:663:26:663:47 | T2 | +| main.rs:665:9:665:9 | x | | main.rs:663:26:663:47 | T2 | +| main.rs:667:52:667:52 | x | | main.rs:667:28:667:49 | T2 | +| main.rs:667:65:671:5 | { ... } | | main.rs:667:24:667:25 | T1 | +| main.rs:668:24:668:24 | x | | main.rs:667:28:667:49 | T2 | +| main.rs:670:16:670:16 | x | | main.rs:667:28:667:49 | T2 | +| main.rs:672:52:672:52 | x | | main.rs:672:28:672:49 | T2 | +| main.rs:672:65:676:5 | { ... } | | main.rs:672:24:672:25 | T1 | +| main.rs:673:29:673:29 | x | | main.rs:672:28:672:49 | T2 | +| main.rs:675:21:675:21 | x | | main.rs:672:28:672:49 | T2 | +| main.rs:677:55:677:55 | x | | main.rs:677:31:677:52 | T2 | +| main.rs:677:68:681:5 | { ... } | | main.rs:677:27:677:28 | T1 | +| main.rs:678:27:678:27 | x | | main.rs:677:31:677:52 | T2 | +| main.rs:680:19:680:19 | x | | main.rs:677:31:677:52 | T2 | +| main.rs:682:55:682:55 | x | | main.rs:682:31:682:52 | T2 | +| main.rs:682:68:686:5 | { ... } | | main.rs:682:27:682:28 | T1 | +| main.rs:683:32:683:32 | x | | main.rs:682:31:682:52 | T2 | +| main.rs:685:24:685:24 | x | | main.rs:682:31:682:52 | T2 | +| main.rs:690:49:690:49 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:690:49:690:49 | x | T | main.rs:690:32:690:46 | T2 | +| main.rs:690:71:692:5 | { ... } | | main.rs:690:28:690:29 | T1 | +| main.rs:691:9:691:9 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:691:9:691:9 | x | T | main.rs:690:32:690:46 | T2 | +| main.rs:693:51:693:51 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:693:51:693:51 | x | T | main.rs:693:34:693:48 | T2 | +| main.rs:693:73:695:5 | { ... } | | main.rs:693:30:693:31 | T1 | +| main.rs:694:16:694:16 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:694:16:694:16 | x | T | main.rs:693:34:693:48 | T2 | +| main.rs:696:51:696:51 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:696:51:696:51 | x | T | main.rs:696:34:696:48 | T2 | +| main.rs:696:73:698:5 | { ... } | | main.rs:696:30:696:31 | T1 | +| main.rs:697:21:697:21 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:697:21:697:21 | x | T | main.rs:696:34:696:48 | T2 | +| main.rs:701:15:701:18 | SelfParam | | main.rs:618:5:621:5 | MyThing | +| main.rs:701:15:701:18 | SelfParam | T | main.rs:700:10:700:10 | T | +| main.rs:701:26:703:9 | { ... } | | main.rs:700:10:700:10 | T | +| main.rs:702:13:702:16 | self | | main.rs:618:5:621:5 | MyThing | +| main.rs:702:13:702:16 | self | T | main.rs:700:10:700:10 | T | +| main.rs:705:18:705:18 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:705:18:705:18 | x | T | main.rs:700:10:700:10 | T | +| main.rs:705:32:707:9 | { ... } | | main.rs:700:10:700:10 | T | +| main.rs:706:13:706:13 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:706:13:706:13 | x | T | main.rs:700:10:700:10 | T | +| main.rs:712:15:712:18 | SelfParam | | main.rs:710:5:713:5 | Self [trait MyTrait2] | +| main.rs:717:15:717:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:717:15:717:19 | SelfParam | TRef | main.rs:715:5:718:5 | Self [trait MyTrait3] | +| main.rs:720:46:720:46 | x | | main.rs:720:22:720:43 | T | +| main.rs:720:52:720:52 | y | | {EXTERNAL LOCATION} | & | +| main.rs:720:52:720:52 | y | TRef | main.rs:720:22:720:43 | T | +| main.rs:720:59:723:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:721:9:721:9 | x | | main.rs:720:22:720:43 | T | +| main.rs:722:9:722:9 | y | | {EXTERNAL LOCATION} | & | +| main.rs:722:9:722:9 | y | TRef | main.rs:720:22:720:43 | T | +| main.rs:725:16:783:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:726:13:726:13 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:726:17:726:33 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:727:13:727:13 | y | | main.rs:618:5:621:5 | MyThing | +| main.rs:727:17:727:33 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | | main.rs:729:18:729:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:729:18:729:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:729:18:729:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:729:18:729:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:730:31:730:32 | y2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:731:18:731:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:731:18:731:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:731:18:731:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:731:18:731:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:732:33:732:34 | y2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:733:18:733:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:733:18:733:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:733:18:733:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:733:18:733:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:734:33:734:34 | y2 | | main.rs:601:5:604:5 | MyThing | +| main.rs:729:18:729:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:729:18:729:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:729:26:729:26 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:730:18:730:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:730:18:730:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:730:18:730:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:730:18:730:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:730:26:730:26 | y | | main.rs:618:5:621:5 | MyThing | +| main.rs:732:13:732:13 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:732:17:732:33 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:733:13:733:13 | y | | main.rs:618:5:621:5 | MyThing | +| main.rs:733:17:733:33 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | | main.rs:735:18:735:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:735:18:735:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:735:18:735:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:735:18:735:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:736:36:736:37 | x2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:737:18:737:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:737:18:737:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:737:18:737:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:737:18:737:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:738:36:738:37 | x2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:739:18:739:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:739:18:739:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:739:18:739:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:739:18:739:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:740:36:740:37 | y2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:741:18:741:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:741:18:741:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:741:18:741:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:741:18:741:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:742:36:742:37 | y2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:743:18:743:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:743:18:743:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:743:18:743:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:743:18:743:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:745:13:745:14 | x3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:745:18:747:9 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:746:16:746:32 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:748:13:748:14 | y3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:748:18:750:9 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:749:16:749:32 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:752:37:752:38 | x3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:753:18:753:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:753:18:753:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:753:18:753:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:753:18:753:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:754:39:754:40 | x3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:755:18:755:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:755:18:755:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:755:18:755:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:755:18:755:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:756:39:756:40 | x3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:757:18:757:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:757:18:757:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:757:18:757:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:757:18:757:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:758:37:758:38 | y3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:759:18:759:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:759:18:759:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:759:18:759:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:759:18:759:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:760:39:760:40 | y3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:761:18:761:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:761:18:761:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:761:18:761:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:761:18:761:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:762:39:762:40 | y3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:763:18:763:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:763:18:763:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:763:18:763:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:763:18:763:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:765:13:765:13 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:782:15:782:18 | SelfParam | | main.rs:770:5:774:5 | MyEnum | -| main.rs:782:15:782:18 | SelfParam | A | main.rs:781:10:781:10 | T | -| main.rs:782:26:787:9 | { ... } | | main.rs:781:10:781:10 | T | -| main.rs:783:19:783:22 | self | | main.rs:770:5:774:5 | MyEnum | -| main.rs:783:19:783:22 | self | A | main.rs:781:10:781:10 | T | -| main.rs:785:17:785:32 | ...::C2 {...} | | main.rs:770:5:774:5 | MyEnum | -| main.rs:790:16:796:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:792:13:792:13 | y | | main.rs:770:5:774:5 | MyEnum | -| main.rs:792:17:792:36 | ...::C2 {...} | | main.rs:770:5:774:5 | MyEnum | -| main.rs:794:18:794:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:794:18:794:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:794:18:794:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:794:18:794:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:795:18:795:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:795:18:795:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:795:18:795:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:795:18:795:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:795:26:795:26 | y | | main.rs:770:5:774:5 | MyEnum | -| main.rs:817:15:817:18 | SelfParam | | main.rs:815:5:818:5 | Self [trait MyTrait1] | -| main.rs:822:15:822:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:822:15:822:19 | SelfParam | TRef | main.rs:820:5:832:5 | Self [trait MyTrait2] | -| main.rs:825:9:831:9 | { ... } | | main.rs:820:20:820:22 | Tr2 | -| main.rs:827:17:827:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:827:17:827:20 | self | TRef | main.rs:820:5:832:5 | Self [trait MyTrait2] | -| main.rs:829:27:829:30 | self | | {EXTERNAL LOCATION} | & | -| main.rs:829:27:829:30 | self | TRef | main.rs:820:5:832:5 | Self [trait MyTrait2] | -| main.rs:836:15:836:18 | SelfParam | | main.rs:834:5:846:5 | Self [trait MyTrait3] | -| main.rs:839:9:845:9 | { ... } | | main.rs:834:20:834:22 | Tr3 | -| main.rs:841:17:841:20 | self | | main.rs:834:5:846:5 | Self [trait MyTrait3] | -| main.rs:843:26:843:30 | &self | | {EXTERNAL LOCATION} | & | -| main.rs:843:27:843:30 | self | | main.rs:834:5:846:5 | Self [trait MyTrait3] | -| main.rs:850:15:850:18 | SelfParam | | main.rs:800:5:803:5 | MyThing | -| main.rs:850:15:850:18 | SelfParam | A | main.rs:848:10:848:10 | T | -| main.rs:850:26:852:9 | { ... } | | main.rs:848:10:848:10 | T | -| main.rs:851:13:851:16 | self | | main.rs:800:5:803:5 | MyThing | -| main.rs:851:13:851:16 | self | A | main.rs:848:10:848:10 | T | -| main.rs:859:15:859:18 | SelfParam | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:859:15:859:18 | SelfParam | A | main.rs:857:10:857:10 | T | -| main.rs:859:35:861:9 | { ... } | | main.rs:800:5:803:5 | MyThing | -| main.rs:859:35:861:9 | { ... } | A | main.rs:857:10:857:10 | T | -| main.rs:860:13:860:33 | MyThing {...} | | main.rs:800:5:803:5 | MyThing | -| main.rs:860:26:860:29 | self | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:860:26:860:29 | self | A | main.rs:857:10:857:10 | T | -| main.rs:868:44:868:44 | x | | main.rs:868:26:868:41 | T2 | -| main.rs:868:57:870:5 | { ... } | | main.rs:868:22:868:23 | T1 | -| main.rs:869:9:869:9 | x | | main.rs:868:26:868:41 | T2 | -| main.rs:872:56:872:56 | x | | main.rs:872:39:872:53 | T | -| main.rs:872:62:876:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:874:17:874:17 | x | | main.rs:872:39:872:53 | T | -| main.rs:875:18:875:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:875:18:875:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:875:18:875:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:875:18:875:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:878:16:902:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:879:13:879:13 | x | | main.rs:800:5:803:5 | MyThing | -| main.rs:879:17:879:33 | MyThing {...} | | main.rs:800:5:803:5 | MyThing | -| main.rs:880:13:880:13 | y | | main.rs:800:5:803:5 | MyThing | -| main.rs:880:17:880:33 | MyThing {...} | | main.rs:800:5:803:5 | MyThing | -| main.rs:882:18:882:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:882:18:882:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:882:18:882:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:882:18:882:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:882:26:882:26 | x | | main.rs:800:5:803:5 | MyThing | -| main.rs:883:18:883:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:883:18:883:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:883:18:883:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:883:18:883:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:883:26:883:26 | y | | main.rs:800:5:803:5 | MyThing | -| main.rs:885:13:885:13 | x | | main.rs:800:5:803:5 | MyThing | -| main.rs:885:17:885:33 | MyThing {...} | | main.rs:800:5:803:5 | MyThing | -| main.rs:886:13:886:13 | y | | main.rs:800:5:803:5 | MyThing | -| main.rs:886:17:886:33 | MyThing {...} | | main.rs:800:5:803:5 | MyThing | -| main.rs:888:18:888:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:888:18:888:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:888:18:888:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:888:18:888:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:888:26:888:26 | x | | main.rs:800:5:803:5 | MyThing | -| main.rs:889:18:889:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:889:18:889:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:889:18:889:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:889:18:889:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:889:26:889:26 | y | | main.rs:800:5:803:5 | MyThing | -| main.rs:891:13:891:13 | x | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:891:17:891:34 | MyThing2 {...} | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:892:13:892:13 | y | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:892:17:892:34 | MyThing2 {...} | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:894:18:894:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:894:18:894:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:894:18:894:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:894:18:894:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:894:26:894:26 | x | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:895:18:895:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:895:18:895:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:895:18:895:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:895:18:895:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:895:26:895:26 | y | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:897:13:897:13 | x | | main.rs:800:5:803:5 | MyThing | -| main.rs:897:17:897:33 | MyThing {...} | | main.rs:800:5:803:5 | MyThing | -| main.rs:898:31:898:31 | x | | main.rs:800:5:803:5 | MyThing | -| main.rs:900:13:900:13 | x | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:900:17:900:34 | MyThing2 {...} | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:901:31:901:31 | x | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:918:22:918:22 | x | | {EXTERNAL LOCATION} | & | -| main.rs:918:22:918:22 | x | TRef | main.rs:918:11:918:19 | T | -| main.rs:918:35:920:5 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:918:35:920:5 | { ... } | TRef | main.rs:918:11:918:19 | T | -| main.rs:919:9:919:9 | x | | {EXTERNAL LOCATION} | & | -| main.rs:919:9:919:9 | x | TRef | main.rs:918:11:918:19 | T | -| main.rs:923:17:923:20 | SelfParam | | main.rs:908:5:909:14 | S1 | -| main.rs:923:29:925:9 | { ... } | | main.rs:911:5:912:14 | S2 | -| main.rs:928:21:928:21 | x | | main.rs:928:13:928:14 | T1 | -| main.rs:931:5:933:5 | { ... } | | main.rs:928:17:928:18 | T2 | -| main.rs:932:9:932:9 | x | | main.rs:928:13:928:14 | T1 | -| main.rs:935:16:951:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:937:18:937:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:937:18:937:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:937:18:937:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:937:18:937:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:937:26:937:31 | id(...) | | {EXTERNAL LOCATION} | & | -| main.rs:937:29:937:30 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:940:18:940:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:940:18:940:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:940:18:940:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:940:18:940:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:940:26:940:37 | id::<...>(...) | | {EXTERNAL LOCATION} | & | -| main.rs:940:26:940:37 | id::<...>(...) | TRef | main.rs:908:5:909:14 | S1 | -| main.rs:940:35:940:36 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:944:18:944:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:944:18:944:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:944:18:944:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:944:18:944:44 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:944:26:944:44 | id::<...>(...) | | {EXTERNAL LOCATION} | & | -| main.rs:944:26:944:44 | id::<...>(...) | TRef | main.rs:914:5:914:25 | dyn Trait | -| main.rs:944:42:944:43 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:947:9:947:25 | into::<...>(...) | | main.rs:911:5:912:14 | S2 | -| main.rs:950:13:950:13 | y | | main.rs:911:5:912:14 | S2 | -| main.rs:964:22:964:25 | SelfParam | | main.rs:955:5:961:5 | PairOption | -| main.rs:964:22:964:25 | SelfParam | Fst | main.rs:963:10:963:12 | Fst | -| main.rs:964:22:964:25 | SelfParam | Snd | main.rs:963:15:963:17 | Snd | -| main.rs:964:35:971:9 | { ... } | | main.rs:963:15:963:17 | Snd | -| main.rs:965:19:965:22 | self | | main.rs:955:5:961:5 | PairOption | -| main.rs:965:19:965:22 | self | Fst | main.rs:963:10:963:12 | Fst | -| main.rs:965:19:965:22 | self | Snd | main.rs:963:15:963:17 | Snd | -| main.rs:966:43:966:82 | MacroExpr | | file://:0:0:0:0 | ! | -| main.rs:966:50:966:81 | "PairNone has no second elemen... | | {EXTERNAL LOCATION} | & | -| main.rs:966:50:966:81 | "PairNone has no second elemen... | TRef | {EXTERNAL LOCATION} | str | -| main.rs:966:50:966:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | -| main.rs:966:50:966:81 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:967:43:967:81 | MacroExpr | | file://:0:0:0:0 | ! | -| main.rs:967:50:967:80 | "PairFst has no second element... | | {EXTERNAL LOCATION} | & | -| main.rs:967:50:967:80 | "PairFst has no second element... | TRef | {EXTERNAL LOCATION} | str | -| main.rs:967:50:967:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | -| main.rs:967:50:967:80 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:995:10:995:10 | t | | main.rs:955:5:961:5 | PairOption | -| main.rs:995:10:995:10 | t | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:995:10:995:10 | t | Snd | main.rs:955:5:961:5 | PairOption | -| main.rs:995:10:995:10 | t | Snd.Fst | main.rs:977:5:978:14 | S2 | -| main.rs:995:10:995:10 | t | Snd.Snd | main.rs:980:5:981:14 | S3 | -| main.rs:995:30:998:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:996:17:996:17 | t | | main.rs:955:5:961:5 | PairOption | -| main.rs:996:17:996:17 | t | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:996:17:996:17 | t | Snd | main.rs:955:5:961:5 | PairOption | -| main.rs:996:17:996:17 | t | Snd.Fst | main.rs:977:5:978:14 | S2 | -| main.rs:996:17:996:17 | t | Snd.Snd | main.rs:980:5:981:14 | S3 | -| main.rs:997:18:997:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:997:18:997:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:997:18:997:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:997:18:997:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1008:16:1028:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1010:13:1010:14 | p1 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1010:13:1010:14 | p1 | Fst | main.rs:974:5:975:14 | S1 | -| main.rs:1010:13:1010:14 | p1 | Snd | main.rs:977:5:978:14 | S2 | -| main.rs:1011:18:1011:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1011:18:1011:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1011:18:1011:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1011:18:1011:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1011:26:1011:27 | p1 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1011:26:1011:27 | p1 | Fst | main.rs:974:5:975:14 | S1 | -| main.rs:1011:26:1011:27 | p1 | Snd | main.rs:977:5:978:14 | S2 | -| main.rs:1014:13:1014:14 | p2 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1014:13:1014:14 | p2 | Fst | main.rs:974:5:975:14 | S1 | -| main.rs:1014:13:1014:14 | p2 | Snd | main.rs:977:5:978:14 | S2 | -| main.rs:1015:18:1015:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1015:18:1015:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1015:18:1015:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1015:18:1015:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1015:26:1015:27 | p2 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1015:26:1015:27 | p2 | Fst | main.rs:974:5:975:14 | S1 | -| main.rs:1015:26:1015:27 | p2 | Snd | main.rs:977:5:978:14 | S2 | -| main.rs:1018:13:1018:14 | p3 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1018:13:1018:14 | p3 | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1019:18:1019:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1019:18:1019:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1019:18:1019:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1019:18:1019:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1019:26:1019:27 | p3 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1019:26:1019:27 | p3 | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1022:13:1022:14 | p3 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1022:13:1022:14 | p3 | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1022:13:1022:14 | p3 | Snd | main.rs:980:5:981:14 | S3 | -| main.rs:1023:18:1023:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1023:18:1023:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1023:18:1023:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1023:18:1023:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1023:26:1023:27 | p3 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1023:26:1023:27 | p3 | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1023:26:1023:27 | p3 | Snd | main.rs:980:5:981:14 | S3 | -| main.rs:1025:9:1025:55 | g(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1027:13:1027:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1027:13:1027:13 | x | E | main.rs:974:5:975:14 | S1 | -| main.rs:1027:13:1027:13 | x | T | main.rs:1000:5:1000:34 | S4 | -| main.rs:1027:13:1027:13 | x | T.T41 | main.rs:977:5:978:14 | S2 | -| main.rs:1027:13:1027:13 | x | T.T42 | main.rs:1002:5:1002:22 | S5 | -| main.rs:1027:13:1027:13 | x | T.T42.T5 | main.rs:977:5:978:14 | S2 | -| main.rs:1040:16:1040:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1040:16:1040:24 | SelfParam | TRefMut | main.rs:1038:5:1045:5 | Self [trait MyTrait] | -| main.rs:1040:27:1040:31 | value | | main.rs:1038:19:1038:19 | S | -| main.rs:1042:21:1042:29 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1042:21:1042:29 | SelfParam | TRefMut | main.rs:1038:5:1045:5 | Self [trait MyTrait] | -| main.rs:1042:32:1042:36 | value | | main.rs:1038:19:1038:19 | S | -| main.rs:1042:42:1044:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1043:13:1043:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1043:13:1043:16 | self | TRefMut | main.rs:1038:5:1045:5 | Self [trait MyTrait] | -| main.rs:1043:22:1043:26 | value | | main.rs:1038:19:1038:19 | S | -| main.rs:1049:16:1049:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1049:16:1049:24 | SelfParam | TRefMut | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1049:16:1049:24 | SelfParam | TRefMut.T | main.rs:1047:10:1047:10 | T | -| main.rs:1049:27:1049:31 | value | | main.rs:1047:10:1047:10 | T | -| main.rs:1049:37:1049:38 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1053:26:1055:9 | { ... } | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1053:26:1055:9 | { ... } | T | main.rs:1052:10:1052:10 | T | -| main.rs:1059:20:1059:23 | SelfParam | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1059:20:1059:23 | SelfParam | T | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1059:20:1059:23 | SelfParam | T.T | main.rs:1058:10:1058:10 | T | -| main.rs:1059:41:1064:9 | { ... } | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1059:41:1064:9 | { ... } | T | main.rs:1058:10:1058:10 | T | -| main.rs:1060:19:1060:22 | self | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1060:19:1060:22 | self | T | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1060:19:1060:22 | self | T.T | main.rs:1058:10:1058:10 | T | -| main.rs:1070:16:1115:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1071:13:1071:14 | x1 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1071:13:1071:14 | x1 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1071:18:1071:37 | ...::new(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1071:18:1071:37 | ...::new(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1072:18:1072:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1072:18:1072:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1072:18:1072:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1072:18:1072:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1072:26:1072:27 | x1 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1072:26:1072:27 | x1 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1074:17:1074:18 | x2 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1074:22:1074:36 | ...::new(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1075:9:1075:10 | x2 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1076:18:1076:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1076:18:1076:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1076:18:1076:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1076:18:1076:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1076:26:1076:27 | x2 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1078:17:1078:18 | x3 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1078:22:1078:36 | ...::new(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1079:9:1079:10 | x3 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1080:18:1080:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1080:18:1080:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1080:18:1080:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1080:18:1080:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1080:26:1080:27 | x3 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1082:17:1082:18 | x4 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1082:22:1082:36 | ...::new(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1083:9:1083:33 | ...::set(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1083:23:1083:29 | &mut x4 | | {EXTERNAL LOCATION} | &mut | -| main.rs:1083:28:1083:29 | x4 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1084:18:1084:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1084:18:1084:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1084:18:1084:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1084:18:1084:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1084:26:1084:27 | x4 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1087:18:1087:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1087:18:1087:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1087:18:1087:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1087:18:1087:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1090:18:1090:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1090:18:1090:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1090:18:1090:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1090:18:1090:61 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1090:26:1090:61 | ...::flatten(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1090:26:1090:61 | ...::flatten(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1098:18:1098:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1098:18:1098:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1098:18:1098:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1098:18:1098:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1102:13:1102:16 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1103:13:1103:17 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1105:18:1105:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1105:18:1105:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1105:18:1105:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1105:18:1105:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1108:30:1113:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1109:13:1111:13 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1109:22:1111:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1114:18:1114:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1114:18:1114:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1114:18:1114:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1114:18:1114:34 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1132:15:1132:18 | SelfParam | | main.rs:1120:5:1121:19 | S | -| main.rs:1132:15:1132:18 | SelfParam | T | main.rs:1131:10:1131:10 | T | -| main.rs:1132:26:1134:9 | { ... } | | main.rs:1131:10:1131:10 | T | -| main.rs:1133:13:1133:16 | self | | main.rs:1120:5:1121:19 | S | -| main.rs:1133:13:1133:16 | self | T | main.rs:1131:10:1131:10 | T | -| main.rs:1136:15:1136:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1136:15:1136:19 | SelfParam | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1136:15:1136:19 | SelfParam | TRef.T | main.rs:1131:10:1131:10 | T | -| main.rs:1136:28:1138:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1136:28:1138:9 | { ... } | TRef | main.rs:1131:10:1131:10 | T | -| main.rs:1137:13:1137:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1137:14:1137:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1137:14:1137:17 | self | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1137:14:1137:17 | self | TRef.T | main.rs:1131:10:1131:10 | T | -| main.rs:1140:15:1140:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1140:15:1140:25 | SelfParam | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1140:15:1140:25 | SelfParam | TRef.T | main.rs:1131:10:1131:10 | T | -| main.rs:1140:34:1142:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1140:34:1142:9 | { ... } | TRef | main.rs:1131:10:1131:10 | T | -| main.rs:1141:13:1141:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1141:14:1141:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1141:14:1141:17 | self | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1141:14:1141:17 | self | TRef.T | main.rs:1131:10:1131:10 | T | -| main.rs:1146:29:1146:33 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1146:29:1146:33 | SelfParam | TRef | main.rs:1145:5:1148:5 | Self [trait ATrait] | -| main.rs:1147:33:1147:36 | SelfParam | | main.rs:1145:5:1148:5 | Self [trait ATrait] | -| main.rs:1153:29:1153:33 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1153:29:1153:33 | SelfParam | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1153:29:1153:33 | SelfParam | TRef.TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1153:43:1155:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:1154:17:1154:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1154:17:1154:20 | self | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1154:17:1154:20 | self | TRef.TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1158:33:1158:36 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1158:33:1158:36 | SelfParam | TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1158:46:1160:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:1159:15:1159:18 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1159:15:1159:18 | self | TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1163:16:1213:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1165:18:1165:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1165:18:1165:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1165:18:1165:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1165:18:1165:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1169:18:1169:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1169:18:1169:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1169:18:1169:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1169:18:1169:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1170:18:1170:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1170:18:1170:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1170:18:1170:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1170:18:1170:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1174:18:1174:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1174:18:1174:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1174:18:1174:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1174:18:1174:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1174:26:1174:41 | ...::m2(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1174:26:1174:41 | ...::m2(...) | TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1174:38:1174:40 | &x3 | | {EXTERNAL LOCATION} | & | -| main.rs:1175:18:1175:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1175:18:1175:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1175:18:1175:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1175:18:1175:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1175:26:1175:41 | ...::m3(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1175:26:1175:41 | ...::m3(...) | TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1175:38:1175:40 | &x3 | | {EXTERNAL LOCATION} | & | -| main.rs:1177:13:1177:14 | x4 | | {EXTERNAL LOCATION} | & | -| main.rs:1177:18:1177:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1179:18:1179:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1179:18:1179:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1179:18:1179:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1179:18:1179:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1179:26:1179:27 | x4 | | {EXTERNAL LOCATION} | & | -| main.rs:1180:18:1180:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1180:18:1180:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1180:18:1180:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1180:18:1180:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1180:26:1180:27 | x4 | | {EXTERNAL LOCATION} | & | -| main.rs:1182:13:1182:14 | x5 | | {EXTERNAL LOCATION} | & | -| main.rs:1182:18:1182:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1184:18:1184:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1184:18:1184:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1184:18:1184:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1184:18:1184:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1184:26:1184:27 | x5 | | {EXTERNAL LOCATION} | & | -| main.rs:1185:18:1185:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1185:18:1185:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1185:18:1185:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1185:18:1185:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1185:26:1185:27 | x5 | | {EXTERNAL LOCATION} | & | -| main.rs:1187:13:1187:14 | x6 | | {EXTERNAL LOCATION} | & | -| main.rs:1187:18:1187:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1190:18:1190:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1190:18:1190:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1190:18:1190:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1190:18:1190:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1190:28:1190:29 | x6 | | {EXTERNAL LOCATION} | & | -| main.rs:1192:20:1192:22 | &S2 | | {EXTERNAL LOCATION} | & | +| main.rs:735:18:735:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:735:18:735:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:735:26:735:26 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:736:18:736:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:736:18:736:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:736:18:736:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:736:18:736:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:736:26:736:26 | y | | main.rs:618:5:621:5 | MyThing | +| main.rs:738:13:738:14 | x2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:738:18:738:34 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:739:13:739:14 | y2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:739:18:739:34 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:741:31:741:32 | x2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:742:18:742:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:742:18:742:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:742:18:742:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:742:18:742:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:743:33:743:34 | x2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:744:18:744:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:744:18:744:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:744:18:744:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:744:18:744:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:745:33:745:34 | x2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:746:18:746:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:746:18:746:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:746:18:746:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:746:18:746:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:747:31:747:32 | y2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:748:18:748:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:748:18:748:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:748:18:748:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:748:18:748:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:749:33:749:34 | y2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:750:18:750:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:750:18:750:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:750:18:750:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:750:18:750:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:751:33:751:34 | y2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:752:18:752:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:752:18:752:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:752:18:752:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:752:18:752:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:753:36:753:37 | x2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:754:18:754:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:754:18:754:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:754:18:754:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:754:18:754:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:755:36:755:37 | x2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:756:18:756:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:756:18:756:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:756:18:756:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:756:18:756:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:757:36:757:37 | y2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:758:18:758:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:758:18:758:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:758:18:758:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:758:18:758:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:759:36:759:37 | y2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:760:18:760:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:760:18:760:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:760:18:760:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:760:18:760:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:762:13:762:14 | x3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:762:18:764:9 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:763:16:763:32 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:765:13:765:14 | y3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:765:18:767:9 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:766:16:766:32 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:769:37:769:38 | x3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:770:18:770:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:770:18:770:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:770:18:770:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:770:18:770:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:771:39:771:40 | x3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:772:18:772:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:772:18:772:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:772:18:772:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:772:18:772:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:773:39:773:40 | x3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:774:18:774:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:774:18:774:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:774:18:774:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:774:18:774:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:775:37:775:38 | y3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:776:18:776:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:776:18:776:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:776:18:776:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:776:18:776:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:777:39:777:40 | y3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:778:18:778:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:778:18:778:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:778:18:778:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:778:18:778:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:779:39:779:40 | y3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:780:18:780:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:780:18:780:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:780:18:780:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:780:18:780:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:782:13:782:13 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:799:15:799:18 | SelfParam | | main.rs:787:5:791:5 | MyEnum | +| main.rs:799:15:799:18 | SelfParam | A | main.rs:798:10:798:10 | T | +| main.rs:799:26:804:9 | { ... } | | main.rs:798:10:798:10 | T | +| main.rs:800:19:800:22 | self | | main.rs:787:5:791:5 | MyEnum | +| main.rs:800:19:800:22 | self | A | main.rs:798:10:798:10 | T | +| main.rs:802:17:802:32 | ...::C2 {...} | | main.rs:787:5:791:5 | MyEnum | +| main.rs:807:16:813:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:809:13:809:13 | y | | main.rs:787:5:791:5 | MyEnum | +| main.rs:809:17:809:36 | ...::C2 {...} | | main.rs:787:5:791:5 | MyEnum | +| main.rs:811:18:811:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:811:18:811:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:811:18:811:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:811:18:811:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:812:18:812:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:812:18:812:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:812:18:812:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:812:18:812:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:812:26:812:26 | y | | main.rs:787:5:791:5 | MyEnum | +| main.rs:834:15:834:18 | SelfParam | | main.rs:832:5:835:5 | Self [trait MyTrait1] | +| main.rs:839:15:839:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:839:15:839:19 | SelfParam | TRef | main.rs:837:5:849:5 | Self [trait MyTrait2] | +| main.rs:842:9:848:9 | { ... } | | main.rs:837:20:837:22 | Tr2 | +| main.rs:844:17:844:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:844:17:844:20 | self | TRef | main.rs:837:5:849:5 | Self [trait MyTrait2] | +| main.rs:846:27:846:30 | self | | {EXTERNAL LOCATION} | & | +| main.rs:846:27:846:30 | self | TRef | main.rs:837:5:849:5 | Self [trait MyTrait2] | +| main.rs:853:15:853:18 | SelfParam | | main.rs:851:5:863:5 | Self [trait MyTrait3] | +| main.rs:856:9:862:9 | { ... } | | main.rs:851:20:851:22 | Tr3 | +| main.rs:858:17:858:20 | self | | main.rs:851:5:863:5 | Self [trait MyTrait3] | +| main.rs:860:26:860:30 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:860:27:860:30 | self | | main.rs:851:5:863:5 | Self [trait MyTrait3] | +| main.rs:867:15:867:18 | SelfParam | | main.rs:817:5:820:5 | MyThing | +| main.rs:867:15:867:18 | SelfParam | A | main.rs:865:10:865:10 | T | +| main.rs:867:26:869:9 | { ... } | | main.rs:865:10:865:10 | T | +| main.rs:868:13:868:16 | self | | main.rs:817:5:820:5 | MyThing | +| main.rs:868:13:868:16 | self | A | main.rs:865:10:865:10 | T | +| main.rs:876:15:876:18 | SelfParam | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:876:15:876:18 | SelfParam | A | main.rs:874:10:874:10 | T | +| main.rs:876:35:878:9 | { ... } | | main.rs:817:5:820:5 | MyThing | +| main.rs:876:35:878:9 | { ... } | A | main.rs:874:10:874:10 | T | +| main.rs:877:13:877:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | +| main.rs:877:26:877:29 | self | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:877:26:877:29 | self | A | main.rs:874:10:874:10 | T | +| main.rs:885:44:885:44 | x | | main.rs:885:26:885:41 | T2 | +| main.rs:885:57:887:5 | { ... } | | main.rs:885:22:885:23 | T1 | +| main.rs:886:9:886:9 | x | | main.rs:885:26:885:41 | T2 | +| main.rs:889:56:889:56 | x | | main.rs:889:39:889:53 | T | +| main.rs:889:62:893:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:891:17:891:17 | x | | main.rs:889:39:889:53 | T | +| main.rs:892:18:892:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:892:18:892:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:892:18:892:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:892:18:892:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:895:16:919:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:896:13:896:13 | x | | main.rs:817:5:820:5 | MyThing | +| main.rs:896:17:896:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | +| main.rs:897:13:897:13 | y | | main.rs:817:5:820:5 | MyThing | +| main.rs:897:17:897:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | +| main.rs:899:18:899:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:899:18:899:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:899:18:899:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:899:18:899:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:899:26:899:26 | x | | main.rs:817:5:820:5 | MyThing | +| main.rs:900:18:900:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:900:18:900:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:900:18:900:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:900:18:900:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:900:26:900:26 | y | | main.rs:817:5:820:5 | MyThing | +| main.rs:902:13:902:13 | x | | main.rs:817:5:820:5 | MyThing | +| main.rs:902:17:902:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | +| main.rs:903:13:903:13 | y | | main.rs:817:5:820:5 | MyThing | +| main.rs:903:17:903:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | +| main.rs:905:18:905:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:905:18:905:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:905:18:905:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:905:18:905:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:905:26:905:26 | x | | main.rs:817:5:820:5 | MyThing | +| main.rs:906:18:906:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:906:18:906:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:906:18:906:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:906:18:906:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:906:26:906:26 | y | | main.rs:817:5:820:5 | MyThing | +| main.rs:908:13:908:13 | x | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:908:17:908:34 | MyThing2 {...} | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:909:13:909:13 | y | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:909:17:909:34 | MyThing2 {...} | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:911:18:911:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:911:18:911:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:911:18:911:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:911:18:911:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:911:26:911:26 | x | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:912:18:912:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:912:18:912:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:912:18:912:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:912:18:912:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:912:26:912:26 | y | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:914:13:914:13 | x | | main.rs:817:5:820:5 | MyThing | +| main.rs:914:17:914:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | +| main.rs:915:31:915:31 | x | | main.rs:817:5:820:5 | MyThing | +| main.rs:917:13:917:13 | x | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:917:17:917:34 | MyThing2 {...} | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:918:31:918:31 | x | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:935:22:935:22 | x | | {EXTERNAL LOCATION} | & | +| main.rs:935:22:935:22 | x | TRef | main.rs:935:11:935:19 | T | +| main.rs:935:35:937:5 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:935:35:937:5 | { ... } | TRef | main.rs:935:11:935:19 | T | +| main.rs:936:9:936:9 | x | | {EXTERNAL LOCATION} | & | +| main.rs:936:9:936:9 | x | TRef | main.rs:935:11:935:19 | T | +| main.rs:940:17:940:20 | SelfParam | | main.rs:925:5:926:14 | S1 | +| main.rs:940:29:942:9 | { ... } | | main.rs:928:5:929:14 | S2 | +| main.rs:945:21:945:21 | x | | main.rs:945:13:945:14 | T1 | +| main.rs:948:5:950:5 | { ... } | | main.rs:945:17:945:18 | T2 | +| main.rs:949:9:949:9 | x | | main.rs:945:13:945:14 | T1 | +| main.rs:952:16:968:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:954:18:954:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:954:18:954:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:954:18:954:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:954:18:954:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:954:26:954:31 | id(...) | | {EXTERNAL LOCATION} | & | +| main.rs:954:29:954:30 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:957:18:957:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:957:18:957:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:957:18:957:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:957:18:957:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:957:26:957:37 | id::<...>(...) | | {EXTERNAL LOCATION} | & | +| main.rs:957:26:957:37 | id::<...>(...) | TRef | main.rs:925:5:926:14 | S1 | +| main.rs:957:35:957:36 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:961:18:961:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:961:18:961:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:961:18:961:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:961:18:961:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:961:26:961:44 | id::<...>(...) | | {EXTERNAL LOCATION} | & | +| main.rs:961:26:961:44 | id::<...>(...) | TRef | main.rs:931:5:931:25 | dyn Trait | +| main.rs:961:42:961:43 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:964:9:964:25 | into::<...>(...) | | main.rs:928:5:929:14 | S2 | +| main.rs:967:13:967:13 | y | | main.rs:928:5:929:14 | S2 | +| main.rs:981:22:981:25 | SelfParam | | main.rs:972:5:978:5 | PairOption | +| main.rs:981:22:981:25 | SelfParam | Fst | main.rs:980:10:980:12 | Fst | +| main.rs:981:22:981:25 | SelfParam | Snd | main.rs:980:15:980:17 | Snd | +| main.rs:981:35:988:9 | { ... } | | main.rs:980:15:980:17 | Snd | +| main.rs:982:19:982:22 | self | | main.rs:972:5:978:5 | PairOption | +| main.rs:982:19:982:22 | self | Fst | main.rs:980:10:980:12 | Fst | +| main.rs:982:19:982:22 | self | Snd | main.rs:980:15:980:17 | Snd | +| main.rs:983:43:983:82 | MacroExpr | | file://:0:0:0:0 | ! | +| main.rs:983:50:983:81 | "PairNone has no second elemen... | | {EXTERNAL LOCATION} | & | +| main.rs:983:50:983:81 | "PairNone has no second elemen... | TRef | {EXTERNAL LOCATION} | str | +| main.rs:983:50:983:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | +| main.rs:983:50:983:81 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:984:43:984:81 | MacroExpr | | file://:0:0:0:0 | ! | +| main.rs:984:50:984:80 | "PairFst has no second element... | | {EXTERNAL LOCATION} | & | +| main.rs:984:50:984:80 | "PairFst has no second element... | TRef | {EXTERNAL LOCATION} | str | +| main.rs:984:50:984:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | +| main.rs:984:50:984:80 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1012:10:1012:10 | t | | main.rs:972:5:978:5 | PairOption | +| main.rs:1012:10:1012:10 | t | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1012:10:1012:10 | t | Snd | main.rs:972:5:978:5 | PairOption | +| main.rs:1012:10:1012:10 | t | Snd.Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1012:10:1012:10 | t | Snd.Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1012:30:1015:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1013:17:1013:17 | t | | main.rs:972:5:978:5 | PairOption | +| main.rs:1013:17:1013:17 | t | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1013:17:1013:17 | t | Snd | main.rs:972:5:978:5 | PairOption | +| main.rs:1013:17:1013:17 | t | Snd.Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1013:17:1013:17 | t | Snd.Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1014:18:1014:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1014:18:1014:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1014:18:1014:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1014:18:1014:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1025:16:1045:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1027:13:1027:14 | p1 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1027:13:1027:14 | p1 | Fst | main.rs:991:5:992:14 | S1 | +| main.rs:1027:13:1027:14 | p1 | Snd | main.rs:994:5:995:14 | S2 | +| main.rs:1028:18:1028:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1028:18:1028:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1028:18:1028:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1028:18:1028:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1028:26:1028:27 | p1 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1028:26:1028:27 | p1 | Fst | main.rs:991:5:992:14 | S1 | +| main.rs:1028:26:1028:27 | p1 | Snd | main.rs:994:5:995:14 | S2 | +| main.rs:1031:13:1031:14 | p2 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1031:13:1031:14 | p2 | Fst | main.rs:991:5:992:14 | S1 | +| main.rs:1031:13:1031:14 | p2 | Snd | main.rs:994:5:995:14 | S2 | +| main.rs:1032:18:1032:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1032:18:1032:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1032:18:1032:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1032:18:1032:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1032:26:1032:27 | p2 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1032:26:1032:27 | p2 | Fst | main.rs:991:5:992:14 | S1 | +| main.rs:1032:26:1032:27 | p2 | Snd | main.rs:994:5:995:14 | S2 | +| main.rs:1035:13:1035:14 | p3 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1035:13:1035:14 | p3 | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1036:18:1036:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1036:18:1036:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1036:18:1036:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1036:18:1036:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1036:26:1036:27 | p3 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1036:26:1036:27 | p3 | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1039:13:1039:14 | p3 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1039:13:1039:14 | p3 | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1039:13:1039:14 | p3 | Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1040:18:1040:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1040:18:1040:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1040:18:1040:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1040:18:1040:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1040:26:1040:27 | p3 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1040:26:1040:27 | p3 | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1040:26:1040:27 | p3 | Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1042:9:1042:55 | g(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1044:13:1044:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1044:13:1044:13 | x | E | main.rs:991:5:992:14 | S1 | +| main.rs:1044:13:1044:13 | x | T | main.rs:1017:5:1017:34 | S4 | +| main.rs:1044:13:1044:13 | x | T.T41 | main.rs:994:5:995:14 | S2 | +| main.rs:1044:13:1044:13 | x | T.T42 | main.rs:1019:5:1019:22 | S5 | +| main.rs:1044:13:1044:13 | x | T.T42.T5 | main.rs:994:5:995:14 | S2 | +| main.rs:1057:16:1057:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1057:16:1057:24 | SelfParam | TRefMut | main.rs:1055:5:1062:5 | Self [trait MyTrait] | +| main.rs:1057:27:1057:31 | value | | main.rs:1055:19:1055:19 | S | +| main.rs:1059:21:1059:29 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1059:21:1059:29 | SelfParam | TRefMut | main.rs:1055:5:1062:5 | Self [trait MyTrait] | +| main.rs:1059:32:1059:36 | value | | main.rs:1055:19:1055:19 | S | +| main.rs:1059:42:1061:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1060:13:1060:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1060:13:1060:16 | self | TRefMut | main.rs:1055:5:1062:5 | Self [trait MyTrait] | +| main.rs:1060:22:1060:26 | value | | main.rs:1055:19:1055:19 | S | +| main.rs:1066:16:1066:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1066:16:1066:24 | SelfParam | TRefMut | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1066:16:1066:24 | SelfParam | TRefMut.T | main.rs:1064:10:1064:10 | T | +| main.rs:1066:27:1066:31 | value | | main.rs:1064:10:1064:10 | T | +| main.rs:1066:37:1066:38 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1070:26:1072:9 | { ... } | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1070:26:1072:9 | { ... } | T | main.rs:1069:10:1069:10 | T | +| main.rs:1076:20:1076:23 | SelfParam | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1076:20:1076:23 | SelfParam | T | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1076:20:1076:23 | SelfParam | T.T | main.rs:1075:10:1075:10 | T | +| main.rs:1076:41:1081:9 | { ... } | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1076:41:1081:9 | { ... } | T | main.rs:1075:10:1075:10 | T | +| main.rs:1077:19:1077:22 | self | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1077:19:1077:22 | self | T | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1077:19:1077:22 | self | T.T | main.rs:1075:10:1075:10 | T | +| main.rs:1087:16:1132:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1088:13:1088:14 | x1 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1088:13:1088:14 | x1 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1088:18:1088:37 | ...::new(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1088:18:1088:37 | ...::new(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1089:18:1089:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1089:18:1089:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1089:18:1089:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1089:18:1089:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1089:26:1089:27 | x1 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1089:26:1089:27 | x1 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1091:17:1091:18 | x2 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1091:22:1091:36 | ...::new(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1092:9:1092:10 | x2 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1093:18:1093:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1093:18:1093:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1093:18:1093:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1093:18:1093:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1093:26:1093:27 | x2 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1095:17:1095:18 | x3 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1095:22:1095:36 | ...::new(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1096:9:1096:10 | x3 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1097:18:1097:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1097:18:1097:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1097:18:1097:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1097:18:1097:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1097:26:1097:27 | x3 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1099:17:1099:18 | x4 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1099:22:1099:36 | ...::new(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1100:9:1100:33 | ...::set(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1100:23:1100:29 | &mut x4 | | {EXTERNAL LOCATION} | &mut | +| main.rs:1100:28:1100:29 | x4 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1101:18:1101:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1101:18:1101:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1101:18:1101:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1101:18:1101:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1101:26:1101:27 | x4 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1104:18:1104:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1104:18:1104:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1104:18:1104:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1104:18:1104:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1107:18:1107:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1107:18:1107:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1107:18:1107:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1107:18:1107:61 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1107:26:1107:61 | ...::flatten(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1107:26:1107:61 | ...::flatten(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1115:18:1115:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1115:18:1115:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1115:18:1115:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1115:18:1115:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1119:13:1119:16 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1120:13:1120:17 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1122:18:1122:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1122:18:1122:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1122:18:1122:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1122:18:1122:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1125:30:1130:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1126:13:1128:13 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1126:22:1128:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1131:18:1131:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1131:18:1131:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1131:18:1131:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1131:18:1131:34 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1149:15:1149:18 | SelfParam | | main.rs:1137:5:1138:19 | S | +| main.rs:1149:15:1149:18 | SelfParam | T | main.rs:1148:10:1148:10 | T | +| main.rs:1149:26:1151:9 | { ... } | | main.rs:1148:10:1148:10 | T | +| main.rs:1150:13:1150:16 | self | | main.rs:1137:5:1138:19 | S | +| main.rs:1150:13:1150:16 | self | T | main.rs:1148:10:1148:10 | T | +| main.rs:1153:15:1153:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1153:15:1153:19 | SelfParam | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1153:15:1153:19 | SelfParam | TRef.T | main.rs:1148:10:1148:10 | T | +| main.rs:1153:28:1155:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1153:28:1155:9 | { ... } | TRef | main.rs:1148:10:1148:10 | T | +| main.rs:1154:13:1154:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1154:14:1154:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1154:14:1154:17 | self | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1154:14:1154:17 | self | TRef.T | main.rs:1148:10:1148:10 | T | +| main.rs:1157:15:1157:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1157:15:1157:25 | SelfParam | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1157:15:1157:25 | SelfParam | TRef.T | main.rs:1148:10:1148:10 | T | +| main.rs:1157:34:1159:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1157:34:1159:9 | { ... } | TRef | main.rs:1148:10:1148:10 | T | +| main.rs:1158:13:1158:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1158:14:1158:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1158:14:1158:17 | self | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1158:14:1158:17 | self | TRef.T | main.rs:1148:10:1148:10 | T | +| main.rs:1163:29:1163:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1163:29:1163:33 | SelfParam | TRef | main.rs:1162:5:1165:5 | Self [trait ATrait] | +| main.rs:1164:33:1164:36 | SelfParam | | main.rs:1162:5:1165:5 | Self [trait ATrait] | +| main.rs:1170:29:1170:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1170:29:1170:33 | SelfParam | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1170:29:1170:33 | SelfParam | TRef.TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1170:43:1172:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:1171:17:1171:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1171:17:1171:20 | self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1171:17:1171:20 | self | TRef.TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1175:33:1175:36 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1175:33:1175:36 | SelfParam | TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1175:46:1177:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:1176:15:1176:18 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1176:15:1176:18 | self | TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1180:16:1230:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1182:18:1182:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1182:18:1182:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1182:18:1182:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1182:18:1182:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1186:18:1186:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1186:18:1186:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1186:18:1186:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1186:18:1186:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1187:18:1187:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1187:18:1187:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1187:18:1187:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1187:18:1187:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1191:18:1191:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1191:18:1191:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1191:18:1191:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1191:18:1191:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1191:26:1191:41 | ...::m2(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1191:26:1191:41 | ...::m2(...) | TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1191:38:1191:40 | &x3 | | {EXTERNAL LOCATION} | & | +| main.rs:1192:18:1192:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1192:18:1192:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1192:18:1192:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1192:18:1192:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1192:26:1192:41 | ...::m3(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1192:26:1192:41 | ...::m3(...) | TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1192:38:1192:40 | &x3 | | {EXTERNAL LOCATION} | & | +| main.rs:1194:13:1194:14 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1194:18:1194:23 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1196:18:1196:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1196:18:1196:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1196:18:1196:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1196:18:1196:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1198:13:1198:14 | x9 | | {EXTERNAL LOCATION} | String | -| main.rs:1198:26:1198:32 | "Hello" | | {EXTERNAL LOCATION} | & | -| main.rs:1198:26:1198:32 | "Hello" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1202:17:1202:18 | x9 | | {EXTERNAL LOCATION} | String | -| main.rs:1204:13:1204:20 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1204:24:1204:39 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1204:25:1204:39 | MyInt {...} | | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1206:17:1206:24 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1196:18:1196:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1196:18:1196:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1196:26:1196:27 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1197:18:1197:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1197:18:1197:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1197:18:1197:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1197:18:1197:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1197:26:1197:27 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1199:13:1199:14 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1199:18:1199:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1201:18:1201:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1201:18:1201:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1201:18:1201:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1201:18:1201:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1201:26:1201:27 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1202:18:1202:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1202:18:1202:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1202:18:1202:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1202:18:1202:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1202:26:1202:27 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1204:13:1204:14 | x6 | | {EXTERNAL LOCATION} | & | +| main.rs:1204:18:1204:23 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1207:18:1207:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1207:18:1207:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1207:18:1207:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1207:18:1207:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1210:13:1210:20 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1210:24:1210:39 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1210:25:1210:39 | MyInt {...} | | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1211:17:1211:24 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1212:18:1212:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1212:18:1212:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1212:18:1212:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1212:18:1212:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1219:16:1219:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1219:16:1219:20 | SelfParam | TRef | main.rs:1217:5:1225:5 | Self [trait MyTrait] | -| main.rs:1222:16:1222:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1222:16:1222:20 | SelfParam | TRef | main.rs:1217:5:1225:5 | Self [trait MyTrait] | -| main.rs:1222:32:1224:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1222:32:1224:9 | { ... } | TRef | main.rs:1217:5:1225:5 | Self [trait MyTrait] | -| main.rs:1223:13:1223:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1223:13:1223:16 | self | TRef | main.rs:1217:5:1225:5 | Self [trait MyTrait] | -| main.rs:1231:16:1231:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1231:16:1231:20 | SelfParam | TRef | main.rs:1227:5:1227:20 | MyStruct | -| main.rs:1231:36:1233:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1231:36:1233:9 | { ... } | TRef | main.rs:1227:5:1227:20 | MyStruct | -| main.rs:1232:13:1232:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1232:13:1232:16 | self | TRef | main.rs:1227:5:1227:20 | MyStruct | -| main.rs:1236:16:1239:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1207:18:1207:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1207:18:1207:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1207:28:1207:29 | x6 | | {EXTERNAL LOCATION} | & | +| main.rs:1209:20:1209:22 | &S2 | | {EXTERNAL LOCATION} | & | +| main.rs:1213:18:1213:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1213:18:1213:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1213:18:1213:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1213:18:1213:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1215:13:1215:14 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1215:26:1215:32 | "Hello" | | {EXTERNAL LOCATION} | & | +| main.rs:1215:26:1215:32 | "Hello" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1219:17:1219:18 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1221:13:1221:20 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1221:24:1221:39 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1221:25:1221:39 | MyInt {...} | | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1223:17:1223:24 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1224:18:1224:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1224:18:1224:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1224:18:1224:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1224:18:1224:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1227:13:1227:20 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1227:24:1227:39 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1227:25:1227:39 | MyInt {...} | | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1228:17:1228:24 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1229:18:1229:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1229:18:1229:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1229:18:1229:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1229:18:1229:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1236:16:1236:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1236:16:1236:20 | SelfParam | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | +| main.rs:1239:16:1239:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1239:16:1239:20 | SelfParam | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | +| main.rs:1239:32:1241:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1239:32:1241:9 | { ... } | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | +| main.rs:1240:13:1240:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1240:13:1240:16 | self | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | | main.rs:1248:16:1248:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1248:16:1248:20 | SelfParam | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1248:16:1248:20 | SelfParam | TRef.T | main.rs:1247:10:1247:10 | T | -| main.rs:1248:32:1250:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1248:32:1250:9 | { ... } | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1248:32:1250:9 | { ... } | TRef.T | main.rs:1247:10:1247:10 | T | +| main.rs:1248:16:1248:20 | SelfParam | TRef | main.rs:1244:5:1244:20 | MyStruct | +| main.rs:1248:36:1250:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1248:36:1250:9 | { ... } | TRef | main.rs:1244:5:1244:20 | MyStruct | | main.rs:1249:13:1249:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1249:13:1249:16 | self | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1249:13:1249:16 | self | TRef.T | main.rs:1247:10:1247:10 | T | -| main.rs:1252:16:1252:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1252:16:1252:20 | SelfParam | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1252:16:1252:20 | SelfParam | TRef.T | main.rs:1247:10:1247:10 | T | -| main.rs:1252:23:1252:23 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1252:23:1252:23 | x | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1252:23:1252:23 | x | TRef.T | main.rs:1247:10:1247:10 | T | -| main.rs:1252:42:1254:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1252:42:1254:9 | { ... } | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1252:42:1254:9 | { ... } | TRef.T | main.rs:1247:10:1247:10 | T | -| main.rs:1253:13:1253:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1253:13:1253:16 | self | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1253:13:1253:16 | self | TRef.T | main.rs:1247:10:1247:10 | T | -| main.rs:1257:16:1263:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1262:15:1262:17 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1262:16:1262:17 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1273:17:1273:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1273:17:1273:25 | SelfParam | TRefMut | main.rs:1267:5:1270:5 | MyFlag | -| main.rs:1273:28:1275:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1274:13:1274:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1274:13:1274:16 | self | TRefMut | main.rs:1267:5:1270:5 | MyFlag | -| main.rs:1274:26:1274:29 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1274:26:1274:29 | self | TRefMut | main.rs:1267:5:1270:5 | MyFlag | -| main.rs:1281:15:1281:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1281:15:1281:19 | SelfParam | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1281:31:1283:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1281:31:1283:9 | { ... } | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1282:13:1282:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1282:14:1282:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1282:15:1282:19 | &self | | {EXTERNAL LOCATION} | & | -| main.rs:1282:16:1282:19 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1282:16:1282:19 | self | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1285:15:1285:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1285:15:1285:25 | SelfParam | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1285:37:1287:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1285:37:1287:9 | { ... } | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1286:13:1286:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1286:14:1286:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1286:15:1286:19 | &self | | {EXTERNAL LOCATION} | & | -| main.rs:1286:16:1286:19 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1286:16:1286:19 | self | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1289:15:1289:15 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1289:15:1289:15 | x | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1289:34:1291:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1289:34:1291:9 | { ... } | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1290:13:1290:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1290:13:1290:13 | x | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1293:15:1293:15 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1293:15:1293:15 | x | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1293:34:1295:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1293:34:1295:9 | { ... } | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1294:13:1294:16 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1294:14:1294:16 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1294:15:1294:16 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1294:16:1294:16 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1294:16:1294:16 | x | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1298:16:1311:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1299:13:1299:13 | x | | main.rs:1278:5:1278:13 | S | -| main.rs:1299:17:1299:20 | S {...} | | main.rs:1278:5:1278:13 | S | -| main.rs:1300:9:1300:9 | x | | main.rs:1278:5:1278:13 | S | -| main.rs:1301:9:1301:9 | x | | main.rs:1278:5:1278:13 | S | -| main.rs:1302:9:1302:17 | ...::f3(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1302:9:1302:17 | ...::f3(...) | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1302:15:1302:16 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1302:16:1302:16 | x | | main.rs:1278:5:1278:13 | S | -| main.rs:1304:19:1304:24 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1304:20:1304:24 | &true | | {EXTERNAL LOCATION} | & | -| main.rs:1304:21:1304:24 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1309:9:1309:31 | ...::flip(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1309:22:1309:30 | &mut flag | | {EXTERNAL LOCATION} | &mut | -| main.rs:1310:18:1310:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1310:18:1310:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1310:18:1310:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1310:18:1310:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1325:43:1328:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1325:43:1328:5 | { ... } | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1325:43:1328:5 | { ... } | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1332:46:1336:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1332:46:1336:5 | { ... } | E | main.rs:1320:5:1321:14 | S2 | -| main.rs:1332:46:1336:5 | { ... } | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1340:40:1345:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1340:40:1345:5 | { ... } | E | main.rs:1320:5:1321:14 | S2 | -| main.rs:1340:40:1345:5 | { ... } | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1343:24:1343:28 | \|...\| s | | {EXTERNAL LOCATION} | dyn Fn | -| main.rs:1349:30:1349:34 | input | | {EXTERNAL LOCATION} | Result | -| main.rs:1349:30:1349:34 | input | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1349:30:1349:34 | input | T | main.rs:1349:20:1349:27 | T | -| main.rs:1349:69:1356:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1349:69:1356:5 | { ... } | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1349:69:1356:5 | { ... } | T | main.rs:1349:20:1349:27 | T | -| main.rs:1350:21:1350:25 | input | | {EXTERNAL LOCATION} | Result | -| main.rs:1350:21:1350:25 | input | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1350:21:1350:25 | input | T | main.rs:1349:20:1349:27 | T | -| main.rs:1351:49:1354:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | -| main.rs:1352:22:1352:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1352:22:1352:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1352:22:1352:30 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1352:22:1352:30 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1359:16:1375:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1360:9:1362:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1360:37:1360:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1360:37:1360:52 | try_same_error(...) | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1360:37:1360:52 | try_same_error(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1360:54:1362:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1361:22:1361:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1361:22:1361:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1361:22:1361:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1361:22:1361:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1364:9:1366:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1364:37:1364:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1364:37:1364:55 | try_convert_error(...) | E | main.rs:1320:5:1321:14 | S2 | -| main.rs:1364:37:1364:55 | try_convert_error(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1364:57:1366:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1365:22:1365:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1365:22:1365:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1365:22:1365:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1365:22:1365:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1368:9:1370:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1368:37:1368:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1368:37:1368:49 | try_chained(...) | E | main.rs:1320:5:1321:14 | S2 | -| main.rs:1368:37:1368:49 | try_chained(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1368:51:1370:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1249:13:1249:16 | self | TRef | main.rs:1244:5:1244:20 | MyStruct | +| main.rs:1253:16:1256:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1265:16:1265:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1265:16:1265:20 | SelfParam | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1265:16:1265:20 | SelfParam | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1265:32:1267:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1265:32:1267:9 | { ... } | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1265:32:1267:9 | { ... } | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1266:13:1266:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1266:13:1266:16 | self | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1266:13:1266:16 | self | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1269:16:1269:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1269:16:1269:20 | SelfParam | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1269:16:1269:20 | SelfParam | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1269:23:1269:23 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1269:23:1269:23 | x | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1269:23:1269:23 | x | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1269:42:1271:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1269:42:1271:9 | { ... } | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1269:42:1271:9 | { ... } | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1270:13:1270:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1270:13:1270:16 | self | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1270:13:1270:16 | self | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1274:16:1280:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1279:15:1279:17 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1279:16:1279:17 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1290:17:1290:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1290:17:1290:25 | SelfParam | TRefMut | main.rs:1284:5:1287:5 | MyFlag | +| main.rs:1290:28:1292:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1291:13:1291:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1291:13:1291:16 | self | TRefMut | main.rs:1284:5:1287:5 | MyFlag | +| main.rs:1291:26:1291:29 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1291:26:1291:29 | self | TRefMut | main.rs:1284:5:1287:5 | MyFlag | +| main.rs:1298:15:1298:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1298:15:1298:19 | SelfParam | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1298:31:1300:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1298:31:1300:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1299:13:1299:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1299:14:1299:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1299:15:1299:19 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:1299:16:1299:19 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1299:16:1299:19 | self | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1302:15:1302:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1302:15:1302:25 | SelfParam | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1302:37:1304:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1302:37:1304:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1303:13:1303:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1303:14:1303:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1303:15:1303:19 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:1303:16:1303:19 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1303:16:1303:19 | self | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1306:15:1306:15 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1306:15:1306:15 | x | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1306:34:1308:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1306:34:1308:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1307:13:1307:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1307:13:1307:13 | x | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1310:15:1310:15 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1310:15:1310:15 | x | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1310:34:1312:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1310:34:1312:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1311:13:1311:16 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1311:14:1311:16 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1311:15:1311:16 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1311:16:1311:16 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1311:16:1311:16 | x | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1315:16:1328:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1316:13:1316:13 | x | | main.rs:1295:5:1295:13 | S | +| main.rs:1316:17:1316:20 | S {...} | | main.rs:1295:5:1295:13 | S | +| main.rs:1317:9:1317:9 | x | | main.rs:1295:5:1295:13 | S | +| main.rs:1318:9:1318:9 | x | | main.rs:1295:5:1295:13 | S | +| main.rs:1319:9:1319:17 | ...::f3(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1319:9:1319:17 | ...::f3(...) | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1319:15:1319:16 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1319:16:1319:16 | x | | main.rs:1295:5:1295:13 | S | +| main.rs:1321:19:1321:24 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1321:20:1321:24 | &true | | {EXTERNAL LOCATION} | & | +| main.rs:1321:21:1321:24 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1326:9:1326:31 | ...::flip(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1326:22:1326:30 | &mut flag | | {EXTERNAL LOCATION} | &mut | +| main.rs:1327:18:1327:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1327:18:1327:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1327:18:1327:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1327:18:1327:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1342:43:1345:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1342:43:1345:5 | { ... } | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1342:43:1345:5 | { ... } | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1349:46:1353:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1349:46:1353:5 | { ... } | E | main.rs:1337:5:1338:14 | S2 | +| main.rs:1349:46:1353:5 | { ... } | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1357:40:1362:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1357:40:1362:5 | { ... } | E | main.rs:1337:5:1338:14 | S2 | +| main.rs:1357:40:1362:5 | { ... } | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1360:24:1360:28 | \|...\| s | | {EXTERNAL LOCATION} | dyn Fn | +| main.rs:1366:30:1366:34 | input | | {EXTERNAL LOCATION} | Result | +| main.rs:1366:30:1366:34 | input | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1366:30:1366:34 | input | T | main.rs:1366:20:1366:27 | T | +| main.rs:1366:69:1373:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1366:69:1373:5 | { ... } | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1366:69:1373:5 | { ... } | T | main.rs:1366:20:1366:27 | T | +| main.rs:1367:21:1367:25 | input | | {EXTERNAL LOCATION} | Result | +| main.rs:1367:21:1367:25 | input | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1367:21:1367:25 | input | T | main.rs:1366:20:1366:27 | T | +| main.rs:1368:49:1371:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | | main.rs:1369:22:1369:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1369:22:1369:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1369:22:1369:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1369:22:1369:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1372:9:1374:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1372:37:1372:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1372:37:1372:63 | try_complex(...) | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1372:65:1374:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1373:22:1373:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1373:22:1373:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1373:22:1373:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1373:22:1373:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1379:16:1470:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1380:13:1380:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1382:17:1382:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1383:17:1383:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1384:13:1384:13 | c | | {EXTERNAL LOCATION} | char | -| main.rs:1384:17:1384:19 | 'c' | | {EXTERNAL LOCATION} | char | -| main.rs:1385:13:1385:17 | hello | | {EXTERNAL LOCATION} | & | -| main.rs:1385:13:1385:17 | hello | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1385:21:1385:27 | "Hello" | | {EXTERNAL LOCATION} | & | -| main.rs:1385:21:1385:27 | "Hello" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1386:13:1386:13 | f | | {EXTERNAL LOCATION} | f64 | -| main.rs:1386:17:1386:24 | 123.0f64 | | {EXTERNAL LOCATION} | f64 | -| main.rs:1387:13:1387:13 | t | | {EXTERNAL LOCATION} | bool | -| main.rs:1387:17:1387:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1388:13:1388:13 | f | | {EXTERNAL LOCATION} | bool | -| main.rs:1388:17:1388:21 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1391:26:1391:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1391:26:1391:30 | SelfParam | TRef | main.rs:1390:9:1394:9 | Self [trait MyTrait] | -| main.rs:1397:26:1397:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1397:26:1397:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:1397:26:1397:30 | SelfParam | TRef.TArray | main.rs:1396:14:1396:23 | T | -| main.rs:1397:39:1399:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1397:39:1399:13 | { ... } | TRef | main.rs:1396:14:1396:23 | T | -| main.rs:1398:17:1398:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1398:17:1398:20 | self | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:1398:17:1398:20 | self | TRef.TArray | main.rs:1396:14:1396:23 | T | -| main.rs:1401:31:1403:13 | { ... } | | main.rs:1396:14:1396:23 | T | -| main.rs:1406:17:1406:25 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1407:13:1407:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1407:17:1407:47 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1407:37:1407:46 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1407:38:1407:46 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1408:13:1408:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1408:17:1408:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1411:26:1411:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1411:26:1411:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1411:26:1411:30 | SelfParam | TRef.TSlice | main.rs:1410:14:1410:23 | T | -| main.rs:1411:39:1413:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1411:39:1413:13 | { ... } | TRef | main.rs:1410:14:1410:23 | T | -| main.rs:1412:17:1412:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1412:17:1412:20 | self | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1412:17:1412:20 | self | TRef.TSlice | main.rs:1410:14:1410:23 | T | -| main.rs:1415:31:1417:13 | { ... } | | main.rs:1410:14:1410:23 | T | -| main.rs:1420:13:1420:13 | s | | {EXTERNAL LOCATION} | & | -| main.rs:1420:13:1420:13 | s | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1420:13:1420:13 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1420:25:1420:34 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1420:26:1420:34 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1421:17:1421:17 | s | | {EXTERNAL LOCATION} | & | -| main.rs:1421:17:1421:17 | s | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1421:17:1421:17 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1422:13:1422:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1422:17:1422:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1422:34:1422:34 | s | | {EXTERNAL LOCATION} | & | -| main.rs:1422:34:1422:34 | s | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1422:34:1422:34 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1423:13:1423:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1423:17:1423:34 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1426:26:1426:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1426:26:1426:30 | SelfParam | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1426:26:1426:30 | SelfParam | TRef.T0 | main.rs:1425:14:1425:23 | T | -| main.rs:1426:26:1426:30 | SelfParam | TRef.T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1426:39:1428:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1426:39:1428:13 | { ... } | TRef | main.rs:1425:14:1425:23 | T | -| main.rs:1427:17:1427:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1427:18:1427:21 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1427:18:1427:21 | self | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1427:18:1427:21 | self | TRef.T0 | main.rs:1425:14:1425:23 | T | -| main.rs:1427:18:1427:21 | self | TRef.T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1430:31:1432:13 | { ... } | | main.rs:1425:14:1425:23 | T | -| main.rs:1435:13:1435:13 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1435:17:1435:23 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1436:17:1436:17 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1437:13:1437:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1437:17:1437:39 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1437:37:1437:38 | &p | | {EXTERNAL LOCATION} | & | -| main.rs:1437:38:1437:38 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1438:13:1438:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1438:17:1438:39 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1441:26:1441:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1441:26:1441:30 | SelfParam | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1441:26:1441:30 | SelfParam | TRef.TRef | main.rs:1440:14:1440:23 | T | -| main.rs:1441:39:1443:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1441:39:1443:13 | { ... } | TRef | main.rs:1440:14:1440:23 | T | -| main.rs:1442:18:1442:21 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1442:18:1442:21 | self | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1442:18:1442:21 | self | TRef.TRef | main.rs:1440:14:1440:23 | T | -| main.rs:1445:31:1447:13 | { ... } | | main.rs:1440:14:1440:23 | T | -| main.rs:1450:13:1450:13 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1450:17:1450:19 | &42 | | {EXTERNAL LOCATION} | & | -| main.rs:1451:17:1451:17 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1452:13:1452:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1452:17:1452:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1452:33:1452:34 | &r | | {EXTERNAL LOCATION} | & | -| main.rs:1452:34:1452:34 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1453:13:1453:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1453:17:1453:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1456:26:1456:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1456:26:1456:30 | SelfParam | TRef | {EXTERNAL LOCATION} | *mut | -| main.rs:1456:26:1456:30 | SelfParam | TRef.TPtrMut | main.rs:1455:14:1455:23 | T | -| main.rs:1456:39:1458:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1456:39:1458:13 | { ... } | TRef | main.rs:1455:14:1455:23 | T | -| main.rs:1457:26:1457:32 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1457:29:1457:32 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1457:29:1457:32 | self | TRef | {EXTERNAL LOCATION} | *mut | -| main.rs:1457:29:1457:32 | self | TRef.TPtrMut | main.rs:1455:14:1455:23 | T | -| main.rs:1460:31:1462:13 | { ... } | | main.rs:1455:14:1455:23 | T | -| main.rs:1466:13:1466:13 | p | | {EXTERNAL LOCATION} | *mut | -| main.rs:1466:13:1466:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1466:27:1466:32 | &mut v | | {EXTERNAL LOCATION} | &mut | -| main.rs:1467:26:1467:26 | p | | {EXTERNAL LOCATION} | *mut | -| main.rs:1467:26:1467:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1468:26:1468:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1468:46:1468:47 | &p | | {EXTERNAL LOCATION} | & | -| main.rs:1468:47:1468:47 | p | | {EXTERNAL LOCATION} | *mut | -| main.rs:1468:47:1468:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1469:13:1469:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1469:17:1469:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1475:16:1487:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1476:13:1476:13 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:1476:17:1476:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1476:17:1476:29 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1476:25:1476:29 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1477:13:1477:13 | y | | {EXTERNAL LOCATION} | bool | -| main.rs:1477:17:1477:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1477:17:1477:29 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1477:25:1477:29 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1481:17:1483:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1483:16:1485:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1500:30:1502:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1501:13:1501:31 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1508:16:1508:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1508:22:1508:24 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1508:41:1513:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1509:13:1512:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1510:20:1510:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1510:29:1510:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1511:20:1511:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1511:29:1511:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1518:23:1518:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1518:23:1518:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1518:34:1518:36 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1518:45:1521:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1519:13:1519:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1519:13:1519:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1519:23:1519:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1520:13:1520:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1520:13:1520:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1520:23:1520:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1526:16:1526:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1526:22:1526:24 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1526:41:1531:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1527:13:1530:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1528:20:1528:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1528:29:1528:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1529:20:1529:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1529:29:1529:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1536:23:1536:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1536:23:1536:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1536:34:1536:36 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1536:45:1539:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1369:22:1369:30 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1369:22:1369:30 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1376:16:1392:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1377:9:1379:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1377:37:1377:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1377:37:1377:52 | try_same_error(...) | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1377:37:1377:52 | try_same_error(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1377:54:1379:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1378:22:1378:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1378:22:1378:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1378:22:1378:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1378:22:1378:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1381:9:1383:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1381:37:1381:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1381:37:1381:55 | try_convert_error(...) | E | main.rs:1337:5:1338:14 | S2 | +| main.rs:1381:37:1381:55 | try_convert_error(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1381:57:1383:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1382:22:1382:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1382:22:1382:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1382:22:1382:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1382:22:1382:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1385:9:1387:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1385:37:1385:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1385:37:1385:49 | try_chained(...) | E | main.rs:1337:5:1338:14 | S2 | +| main.rs:1385:37:1385:49 | try_chained(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1385:51:1387:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1386:22:1386:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1386:22:1386:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1386:22:1386:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1386:22:1386:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1389:9:1391:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1389:37:1389:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1389:37:1389:63 | try_complex(...) | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1389:65:1391:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1390:22:1390:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1390:22:1390:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1390:22:1390:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1390:22:1390:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1396:16:1487:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1397:13:1397:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1399:17:1399:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1400:17:1400:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1401:13:1401:13 | c | | {EXTERNAL LOCATION} | char | +| main.rs:1401:17:1401:19 | 'c' | | {EXTERNAL LOCATION} | char | +| main.rs:1402:13:1402:17 | hello | | {EXTERNAL LOCATION} | & | +| main.rs:1402:13:1402:17 | hello | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1402:21:1402:27 | "Hello" | | {EXTERNAL LOCATION} | & | +| main.rs:1402:21:1402:27 | "Hello" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1403:13:1403:13 | f | | {EXTERNAL LOCATION} | f64 | +| main.rs:1403:17:1403:24 | 123.0f64 | | {EXTERNAL LOCATION} | f64 | +| main.rs:1404:13:1404:13 | t | | {EXTERNAL LOCATION} | bool | +| main.rs:1404:17:1404:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1405:13:1405:13 | f | | {EXTERNAL LOCATION} | bool | +| main.rs:1405:17:1405:21 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1408:26:1408:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1408:26:1408:30 | SelfParam | TRef | main.rs:1407:9:1411:9 | Self [trait MyTrait] | +| main.rs:1414:26:1414:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1414:26:1414:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1414:26:1414:30 | SelfParam | TRef.TArray | main.rs:1413:14:1413:23 | T | +| main.rs:1414:39:1416:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1414:39:1416:13 | { ... } | TRef | main.rs:1413:14:1413:23 | T | +| main.rs:1415:17:1415:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1415:17:1415:20 | self | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1415:17:1415:20 | self | TRef.TArray | main.rs:1413:14:1413:23 | T | +| main.rs:1418:31:1420:13 | { ... } | | main.rs:1413:14:1413:23 | T | +| main.rs:1423:17:1423:25 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1424:13:1424:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1424:17:1424:47 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1424:37:1424:46 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1424:38:1424:46 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1425:13:1425:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1425:17:1425:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1428:26:1428:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1428:26:1428:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1428:26:1428:30 | SelfParam | TRef.TSlice | main.rs:1427:14:1427:23 | T | +| main.rs:1428:39:1430:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1428:39:1430:13 | { ... } | TRef | main.rs:1427:14:1427:23 | T | +| main.rs:1429:17:1429:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1429:17:1429:20 | self | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1429:17:1429:20 | self | TRef.TSlice | main.rs:1427:14:1427:23 | T | +| main.rs:1432:31:1434:13 | { ... } | | main.rs:1427:14:1427:23 | T | +| main.rs:1437:13:1437:13 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1437:13:1437:13 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1437:13:1437:13 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1437:25:1437:34 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1437:26:1437:34 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1438:17:1438:17 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1438:17:1438:17 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1438:17:1438:17 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1439:13:1439:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1439:17:1439:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1439:34:1439:34 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1439:34:1439:34 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1439:34:1439:34 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1440:13:1440:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1440:17:1440:34 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1443:26:1443:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1443:26:1443:30 | SelfParam | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1443:26:1443:30 | SelfParam | TRef.T0 | main.rs:1442:14:1442:23 | T | +| main.rs:1443:26:1443:30 | SelfParam | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1443:39:1445:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1443:39:1445:13 | { ... } | TRef | main.rs:1442:14:1442:23 | T | +| main.rs:1444:17:1444:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1444:18:1444:21 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1444:18:1444:21 | self | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1444:18:1444:21 | self | TRef.T0 | main.rs:1442:14:1442:23 | T | +| main.rs:1444:18:1444:21 | self | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1447:31:1449:13 | { ... } | | main.rs:1442:14:1442:23 | T | +| main.rs:1452:13:1452:13 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1452:17:1452:23 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1453:17:1453:17 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1454:13:1454:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1454:17:1454:39 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1454:37:1454:38 | &p | | {EXTERNAL LOCATION} | & | +| main.rs:1454:38:1454:38 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1455:13:1455:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1455:17:1455:39 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1458:26:1458:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1458:26:1458:30 | SelfParam | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1458:26:1458:30 | SelfParam | TRef.TRef | main.rs:1457:14:1457:23 | T | +| main.rs:1458:39:1460:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1458:39:1460:13 | { ... } | TRef | main.rs:1457:14:1457:23 | T | +| main.rs:1459:18:1459:21 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1459:18:1459:21 | self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1459:18:1459:21 | self | TRef.TRef | main.rs:1457:14:1457:23 | T | +| main.rs:1462:31:1464:13 | { ... } | | main.rs:1457:14:1457:23 | T | +| main.rs:1467:13:1467:13 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1467:17:1467:19 | &42 | | {EXTERNAL LOCATION} | & | +| main.rs:1468:17:1468:17 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1469:13:1469:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1469:17:1469:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1469:33:1469:34 | &r | | {EXTERNAL LOCATION} | & | +| main.rs:1469:34:1469:34 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1470:13:1470:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1470:17:1470:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1473:26:1473:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1473:26:1473:30 | SelfParam | TRef | {EXTERNAL LOCATION} | *mut | +| main.rs:1473:26:1473:30 | SelfParam | TRef.TPtrMut | main.rs:1472:14:1472:23 | T | +| main.rs:1473:39:1475:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1473:39:1475:13 | { ... } | TRef | main.rs:1472:14:1472:23 | T | +| main.rs:1474:26:1474:32 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1474:29:1474:32 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1474:29:1474:32 | self | TRef | {EXTERNAL LOCATION} | *mut | +| main.rs:1474:29:1474:32 | self | TRef.TPtrMut | main.rs:1472:14:1472:23 | T | +| main.rs:1477:31:1479:13 | { ... } | | main.rs:1472:14:1472:23 | T | +| main.rs:1483:13:1483:13 | p | | {EXTERNAL LOCATION} | *mut | +| main.rs:1483:13:1483:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1483:27:1483:32 | &mut v | | {EXTERNAL LOCATION} | &mut | +| main.rs:1484:26:1484:26 | p | | {EXTERNAL LOCATION} | *mut | +| main.rs:1484:26:1484:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1485:26:1485:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1485:46:1485:47 | &p | | {EXTERNAL LOCATION} | & | +| main.rs:1485:47:1485:47 | p | | {EXTERNAL LOCATION} | *mut | +| main.rs:1485:47:1485:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1486:13:1486:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1486:17:1486:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1492:16:1504:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1493:13:1493:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:1493:17:1493:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1493:17:1493:29 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1493:25:1493:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1494:13:1494:13 | y | | {EXTERNAL LOCATION} | bool | +| main.rs:1494:17:1494:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1494:17:1494:29 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1494:25:1494:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1498:17:1500:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1500:16:1502:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1517:30:1519:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1518:13:1518:31 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1525:16:1525:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1525:22:1525:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1525:41:1530:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1526:13:1529:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1527:20:1527:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1527:29:1527:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1528:20:1528:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1528:29:1528:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1535:23:1535:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1535:23:1535:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1535:34:1535:36 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1535:45:1538:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1536:13:1536:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1536:13:1536:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1536:23:1536:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1537:13:1537:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1537:13:1537:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1537:23:1537:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1538:13:1538:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1538:13:1538:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1538:23:1538:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1544:16:1544:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1544:22:1544:24 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1544:41:1549:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1545:13:1548:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1546:20:1546:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1546:29:1546:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1547:20:1547:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1547:29:1547:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1537:13:1537:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1537:23:1537:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1543:16:1543:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1543:22:1543:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1543:41:1548:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1544:13:1547:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1545:20:1545:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1545:29:1545:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1546:20:1546:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1546:29:1546:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1553:23:1553:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1553:23:1553:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1553:34:1553:36 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1553:23:1553:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1553:34:1553:36 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1553:45:1556:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1554:13:1554:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1554:13:1554:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1554:23:1554:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1554:13:1554:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1554:23:1554:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1555:13:1555:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1555:13:1555:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1555:23:1555:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1561:16:1561:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1561:22:1561:24 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1561:41:1566:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1562:13:1565:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1563:20:1563:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1563:29:1563:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1564:20:1564:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1564:29:1564:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1555:13:1555:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1555:23:1555:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1561:16:1561:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1561:22:1561:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1561:41:1566:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1562:13:1565:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1563:20:1563:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1563:29:1563:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1564:20:1564:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1564:29:1564:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1570:23:1570:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1570:23:1570:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1570:34:1570:36 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1570:23:1570:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1570:34:1570:36 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1570:45:1573:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1571:13:1571:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1571:13:1571:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1571:23:1571:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1571:13:1571:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1571:23:1571:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1572:13:1572:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1572:13:1572:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1572:23:1572:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1578:16:1578:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1578:22:1578:24 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1578:41:1583:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1579:13:1582:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1580:20:1580:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1580:29:1580:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1581:20:1581:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1581:29:1581:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1572:13:1572:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1572:23:1572:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1578:16:1578:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1578:22:1578:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1578:41:1583:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1579:13:1582:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1580:20:1580:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1580:29:1580:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1581:20:1581:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1581:29:1581:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1587:23:1587:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1587:23:1587:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1587:34:1587:36 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1587:23:1587:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1587:34:1587:36 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1587:45:1590:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1588:13:1588:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1588:13:1588:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1588:23:1588:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1588:13:1588:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1588:23:1588:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1589:13:1589:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1589:13:1589:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1589:23:1589:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1595:19:1595:22 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1595:25:1595:27 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1595:44:1600:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1596:13:1599:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1597:20:1597:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1597:29:1597:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1598:20:1598:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1598:29:1598:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1604:26:1604:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1604:26:1604:34 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1604:37:1604:39 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1604:48:1607:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1589:13:1589:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1589:23:1589:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1595:16:1595:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1595:22:1595:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1595:41:1600:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1596:13:1599:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1597:20:1597:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1597:29:1597:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1598:20:1598:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1598:29:1598:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1604:23:1604:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1604:23:1604:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1604:34:1604:36 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1604:45:1607:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1605:13:1605:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1605:13:1605:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1605:23:1605:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1605:13:1605:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1605:23:1605:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1606:13:1606:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1606:13:1606:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1606:23:1606:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1612:18:1612:21 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1612:24:1612:26 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1612:43:1617:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1613:13:1616:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1614:20:1614:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1614:29:1614:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1615:20:1615:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1615:29:1615:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1621:25:1621:33 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1621:25:1621:33 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1621:36:1621:38 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1621:47:1624:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1606:13:1606:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1606:23:1606:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1612:19:1612:22 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1612:25:1612:27 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1612:44:1617:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1613:13:1616:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1614:20:1614:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1614:29:1614:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1615:20:1615:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1615:29:1615:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1621:26:1621:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1621:26:1621:34 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1621:37:1621:39 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1621:48:1624:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1622:13:1622:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1622:13:1622:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1622:23:1622:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1622:13:1622:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1622:23:1622:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1623:13:1623:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1623:13:1623:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1623:23:1623:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1629:19:1629:22 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1629:25:1629:27 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1629:44:1634:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1630:13:1633:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1631:20:1631:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1631:29:1631:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1632:20:1632:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1632:29:1632:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1638:26:1638:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1638:26:1638:34 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1638:37:1638:39 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1638:48:1641:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1623:13:1623:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1623:23:1623:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1629:18:1629:21 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1629:24:1629:26 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1629:43:1634:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1630:13:1633:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1631:20:1631:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1631:29:1631:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1632:20:1632:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1632:29:1632:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1638:25:1638:33 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1638:25:1638:33 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1638:36:1638:38 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1638:47:1641:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1639:13:1639:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1639:13:1639:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1639:23:1639:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1639:13:1639:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1639:23:1639:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1640:13:1640:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1640:13:1640:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1640:23:1640:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1646:16:1646:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1646:22:1646:24 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1646:40:1651:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1647:13:1650:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1648:20:1648:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1648:30:1648:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1649:20:1649:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1649:30:1649:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1655:23:1655:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1655:23:1655:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1655:34:1655:36 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1655:44:1658:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1640:13:1640:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1640:23:1640:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1646:19:1646:22 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1646:25:1646:27 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1646:44:1651:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1647:13:1650:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1648:20:1648:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1648:29:1648:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1649:20:1649:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1649:29:1649:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1655:26:1655:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1655:26:1655:34 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1655:37:1655:39 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1655:48:1658:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1656:13:1656:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1656:13:1656:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1656:24:1656:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1656:13:1656:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1656:23:1656:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1657:13:1657:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1657:13:1657:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1657:24:1657:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1663:16:1663:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1657:13:1657:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1657:23:1657:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1663:16:1663:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1663:22:1663:24 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1663:40:1668:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1664:13:1667:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1665:20:1665:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1663:40:1668:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1664:13:1667:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1665:20:1665:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1665:30:1665:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1666:20:1666:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1666:20:1666:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1666:30:1666:32 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1672:23:1672:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1672:23:1672:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1672:23:1672:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1672:34:1672:36 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1672:44:1675:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1673:13:1673:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1673:13:1673:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1673:13:1673:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1673:24:1673:26 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1674:13:1674:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1674:13:1674:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1674:13:1674:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1674:24:1674:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1680:16:1680:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1680:30:1685:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1681:13:1684:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1682:21:1682:24 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1683:21:1683:24 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1690:16:1690:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1690:30:1695:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1691:13:1694:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1692:21:1692:24 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1693:21:1693:24 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1699:15:1699:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1699:15:1699:19 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1699:22:1699:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1699:22:1699:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1699:44:1701:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1700:13:1700:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1700:13:1700:16 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1700:13:1700:29 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1700:13:1700:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1700:23:1700:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1700:23:1700:27 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1700:34:1700:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1700:34:1700:37 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1700:34:1700:50 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1700:44:1700:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1700:44:1700:48 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1703:15:1703:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1703:15:1703:19 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1703:22:1703:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1703:22:1703:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1703:44:1705:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1704:13:1704:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1704:13:1704:16 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1704:13:1704:29 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1704:13:1704:50 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1704:23:1704:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1704:23:1704:27 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1704:34:1704:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1704:34:1704:37 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1704:34:1704:50 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1704:44:1704:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1704:44:1704:48 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1709:24:1709:28 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1709:24:1709:28 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1709:31:1709:35 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1709:31:1709:35 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1709:75:1711:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:1709:75:1711:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | -| main.rs:1710:14:1710:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1710:14:1710:17 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1710:23:1710:26 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1710:23:1710:26 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1710:43:1710:62 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1710:45:1710:49 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1710:45:1710:49 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1710:55:1710:59 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1710:55:1710:59 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1713:15:1713:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1713:15:1713:19 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1713:22:1713:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1713:22:1713:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1713:44:1715:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1714:13:1714:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1714:13:1714:16 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1714:13:1714:28 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1714:13:1714:48 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1714:22:1714:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1714:22:1714:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1714:33:1714:36 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1714:33:1714:36 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1714:33:1714:48 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1714:42:1714:46 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1714:42:1714:46 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1717:15:1717:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1717:15:1717:19 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1717:22:1717:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1717:22:1717:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1717:44:1719:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1718:13:1718:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1718:13:1718:16 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1718:13:1718:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1718:13:1718:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1718:23:1718:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1718:23:1718:27 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1718:34:1718:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1718:34:1718:37 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1718:34:1718:50 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1718:44:1718:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1718:44:1718:48 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1721:15:1721:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1721:15:1721:19 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1721:22:1721:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1721:22:1721:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1721:44:1723:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1722:13:1722:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1722:13:1722:16 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1722:13:1722:28 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1722:13:1722:48 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1722:22:1722:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1722:22:1722:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1722:33:1722:36 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1722:33:1722:36 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1722:33:1722:48 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1722:42:1722:46 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1722:42:1722:46 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1725:15:1725:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1725:15:1725:19 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1725:22:1725:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1725:22:1725:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1725:44:1727:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1726:13:1726:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1726:13:1726:16 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1726:13:1726:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1726:13:1726:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1726:23:1726:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1726:23:1726:27 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1726:34:1726:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1726:34:1726:37 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1726:34:1726:50 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1726:44:1726:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1726:44:1726:48 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1730:26:1730:26 | a | | main.rs:1730:18:1730:23 | T | -| main.rs:1730:32:1730:32 | b | | main.rs:1730:18:1730:23 | T | -| main.rs:1730:51:1732:5 | { ... } | | main.rs:1730:18:1730:23 | T::Output[Add] | -| main.rs:1731:9:1731:9 | a | | main.rs:1730:18:1730:23 | T | -| main.rs:1731:13:1731:13 | b | | main.rs:1730:18:1730:23 | T | -| main.rs:1734:16:1865:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1738:23:1738:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1738:31:1738:34 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1739:23:1739:26 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1739:31:1739:34 | 4i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1740:23:1740:26 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1740:30:1740:33 | 6i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1741:23:1741:26 | 7i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1741:31:1741:34 | 8i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1742:23:1742:26 | 9i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1742:30:1742:34 | 10i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1743:23:1743:27 | 11i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1743:32:1743:36 | 12i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1746:23:1746:27 | 13i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1746:31:1746:35 | 14i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1747:23:1747:27 | 15i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1747:31:1747:35 | 16i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1748:23:1748:27 | 17i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1748:31:1748:35 | 18i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1749:23:1749:27 | 19i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1749:31:1749:35 | 20i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1750:23:1750:27 | 21i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1750:31:1750:35 | 22i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1751:39:1751:42 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1751:45:1751:48 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1754:17:1754:30 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1754:34:1754:38 | 23i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1755:9:1755:22 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1755:27:1755:31 | 24i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1757:17:1757:30 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1757:34:1757:38 | 25i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1758:9:1758:22 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1758:27:1758:31 | 26i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1760:17:1760:30 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1760:34:1760:38 | 27i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1761:9:1761:22 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1761:27:1761:31 | 28i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1763:17:1763:30 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1763:34:1763:38 | 29i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1764:9:1764:22 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1764:27:1764:31 | 30i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1766:17:1766:30 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1766:34:1766:38 | 31i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1767:9:1767:22 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1767:27:1767:31 | 32i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1770:26:1770:30 | 33i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1770:34:1770:38 | 34i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1771:25:1771:29 | 35i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1771:33:1771:37 | 36i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1772:26:1772:30 | 37i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1772:34:1772:38 | 38i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1773:23:1773:27 | 39i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1773:32:1773:36 | 40i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1774:23:1774:27 | 41i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1774:32:1774:36 | 42i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1777:17:1777:33 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1777:37:1777:41 | 43i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1778:9:1778:25 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1778:30:1778:34 | 44i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1780:17:1780:32 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1780:36:1780:40 | 45i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1781:9:1781:24 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1781:29:1781:33 | 46i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1783:17:1783:33 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1783:37:1783:41 | 47i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1784:9:1784:25 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1784:30:1784:34 | 48i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1786:17:1786:30 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1786:34:1786:38 | 49i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1787:9:1787:22 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1787:28:1787:32 | 50i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1789:17:1789:30 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1789:34:1789:38 | 51i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1790:9:1790:22 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1790:28:1790:32 | 52i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1792:24:1792:28 | 53i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1793:24:1793:28 | 54i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1796:13:1796:14 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1796:18:1796:36 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1797:13:1797:14 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1797:18:1797:36 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1800:23:1800:24 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1800:29:1800:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1801:23:1801:24 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1801:29:1801:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1802:23:1802:24 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1802:28:1802:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1803:23:1803:24 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1803:29:1803:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1804:23:1804:24 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1804:28:1804:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1805:23:1805:24 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1805:29:1805:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1808:24:1808:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1808:29:1808:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1809:24:1809:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1809:29:1809:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1810:24:1810:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1810:29:1810:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1811:24:1811:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1811:29:1811:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1812:24:1812:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1812:29:1812:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1815:17:1815:31 | vec2_add_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1815:35:1815:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1816:9:1816:23 | vec2_add_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1816:28:1816:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1818:17:1818:31 | vec2_sub_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1818:35:1818:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1819:9:1819:23 | vec2_sub_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1819:28:1819:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1821:17:1821:31 | vec2_mul_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1821:35:1821:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1822:9:1822:23 | vec2_mul_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1822:28:1822:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1824:17:1824:31 | vec2_div_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1824:35:1824:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1825:9:1825:23 | vec2_div_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1825:28:1825:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1827:17:1827:31 | vec2_rem_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1827:35:1827:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1828:9:1828:23 | vec2_rem_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1828:28:1828:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1831:27:1831:28 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1831:32:1831:33 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1832:26:1832:27 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1832:31:1832:32 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1833:27:1833:28 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1833:32:1833:33 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1834:24:1834:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1834:30:1834:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:1835:24:1835:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1835:30:1835:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:1838:17:1838:34 | vec2_bitand_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1838:38:1838:39 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1839:9:1839:26 | vec2_bitand_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1839:31:1839:32 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1841:17:1841:33 | vec2_bitor_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1841:37:1841:38 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1842:9:1842:25 | vec2_bitor_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1842:30:1842:31 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1844:17:1844:34 | vec2_bitxor_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1844:38:1844:39 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1845:9:1845:26 | vec2_bitxor_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1845:31:1845:32 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1847:17:1847:31 | vec2_shl_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1847:35:1847:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1848:9:1848:23 | vec2_shl_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1848:29:1848:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:1850:17:1850:31 | vec2_shr_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1850:35:1850:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1851:9:1851:23 | vec2_shr_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1851:29:1851:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:1854:25:1854:26 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1855:25:1855:26 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1859:30:1859:48 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1864:30:1864:48 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1874:18:1874:21 | SelfParam | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1874:24:1874:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1877:25:1879:5 | { ... } | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1882:9:1882:20 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1886:9:1886:16 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1886:9:1886:16 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | -| main.rs:1895:13:1895:42 | SelfParam | | {EXTERNAL LOCATION} | Pin | -| main.rs:1895:13:1895:42 | SelfParam | Ptr | {EXTERNAL LOCATION} | &mut | -| main.rs:1895:13:1895:42 | SelfParam | Ptr.TRefMut | main.rs:1889:5:1889:14 | S2 | -| main.rs:1896:13:1896:15 | _cx | | {EXTERNAL LOCATION} | &mut | -| main.rs:1896:13:1896:15 | _cx | TRefMut | {EXTERNAL LOCATION} | Context | -| main.rs:1897:44:1899:9 | { ... } | | {EXTERNAL LOCATION} | Poll | -| main.rs:1897:44:1899:9 | { ... } | T | main.rs:1871:5:1871:14 | S1 | -| main.rs:1906:22:1914:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1907:9:1907:12 | f1(...) | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1907:9:1907:12 | f1(...) | dyn(Output) | main.rs:1871:5:1871:14 | S1 | -| main.rs:1908:9:1908:12 | f2(...) | | main.rs:1881:16:1881:39 | impl ... | -| main.rs:1909:9:1909:12 | f3(...) | | main.rs:1885:16:1885:39 | impl ... | -| main.rs:1910:9:1910:12 | f4(...) | | main.rs:1902:16:1902:39 | impl ... | -| main.rs:1912:13:1912:13 | b | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1912:17:1912:28 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1913:9:1913:9 | b | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1924:15:1924:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1924:15:1924:19 | SelfParam | TRef | main.rs:1923:5:1925:5 | Self [trait Trait1] | -| main.rs:1924:22:1924:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1928:15:1928:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1928:15:1928:19 | SelfParam | TRef | main.rs:1927:5:1929:5 | Self [trait Trait2] | -| main.rs:1928:22:1928:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1932:15:1932:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1932:15:1932:19 | SelfParam | TRef | main.rs:1918:5:1919:14 | S1 | -| main.rs:1932:22:1932:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1936:15:1936:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1936:15:1936:19 | SelfParam | TRef | main.rs:1918:5:1919:14 | S1 | -| main.rs:1936:22:1936:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1944:18:1944:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1944:18:1944:22 | SelfParam | TRef | main.rs:1943:5:1945:5 | Self [trait MyTrait] | -| main.rs:1948:18:1948:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1948:18:1948:22 | SelfParam | TRef | main.rs:1918:5:1919:14 | S1 | -| main.rs:1948:31:1950:9 | { ... } | | main.rs:1920:5:1920:14 | S2 | -| main.rs:1954:18:1954:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1954:18:1954:22 | SelfParam | TRef | main.rs:1921:5:1921:22 | S3 | -| main.rs:1954:18:1954:22 | SelfParam | TRef.T3 | main.rs:1953:10:1953:17 | T | -| main.rs:1954:30:1957:9 | { ... } | | main.rs:1953:10:1953:17 | T | -| main.rs:1955:25:1955:28 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1955:25:1955:28 | self | TRef | main.rs:1921:5:1921:22 | S3 | -| main.rs:1955:25:1955:28 | self | TRef.T3 | main.rs:1953:10:1953:17 | T | -| main.rs:1964:41:1964:41 | t | | main.rs:1964:26:1964:38 | B | -| main.rs:1964:52:1966:5 | { ... } | | main.rs:1964:23:1964:23 | A | -| main.rs:1965:9:1965:9 | t | | main.rs:1964:26:1964:38 | B | -| main.rs:1968:34:1968:34 | x | | main.rs:1968:24:1968:31 | T | -| main.rs:1968:59:1970:5 | { ... } | | main.rs:1968:43:1968:57 | impl ... | -| main.rs:1968:59:1970:5 | { ... } | impl(T) | main.rs:1968:24:1968:31 | T | -| main.rs:1969:12:1969:12 | x | | main.rs:1968:24:1968:31 | T | -| main.rs:1972:34:1972:34 | x | | main.rs:1972:24:1972:31 | T | -| main.rs:1972:67:1974:5 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:1972:67:1974:5 | { ... } | T | main.rs:1972:50:1972:64 | impl ... | -| main.rs:1972:67:1974:5 | { ... } | T.impl(T) | main.rs:1972:24:1972:31 | T | -| main.rs:1973:17:1973:17 | x | | main.rs:1972:24:1972:31 | T | -| main.rs:1976:34:1976:34 | x | | main.rs:1976:24:1976:31 | T | -| main.rs:1976:78:1978:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1976:78:1978:5 | { ... } | T0 | main.rs:1976:44:1976:58 | impl ... | -| main.rs:1976:78:1978:5 | { ... } | T0.impl(T) | main.rs:1976:24:1976:31 | T | -| main.rs:1976:78:1978:5 | { ... } | T1 | main.rs:1976:61:1976:75 | impl ... | -| main.rs:1976:78:1978:5 | { ... } | T1.impl(T) | main.rs:1976:24:1976:31 | T | -| main.rs:1977:9:1977:30 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1977:13:1977:13 | x | | main.rs:1976:24:1976:31 | T | -| main.rs:1977:28:1977:28 | x | | main.rs:1976:24:1976:31 | T | -| main.rs:1980:26:1980:26 | t | | main.rs:1980:29:1980:43 | impl ... | -| main.rs:1980:51:1982:5 | { ... } | | main.rs:1980:23:1980:23 | A | -| main.rs:1981:9:1981:9 | t | | main.rs:1980:29:1980:43 | impl ... | -| main.rs:1984:16:1998:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1985:13:1985:13 | x | | main.rs:1939:16:1939:35 | impl ... + ... | -| main.rs:1985:17:1985:20 | f1(...) | | main.rs:1939:16:1939:35 | impl ... + ... | -| main.rs:1986:9:1986:9 | x | | main.rs:1939:16:1939:35 | impl ... + ... | -| main.rs:1987:9:1987:9 | x | | main.rs:1939:16:1939:35 | impl ... + ... | -| main.rs:1988:13:1988:13 | a | | main.rs:1960:28:1960:43 | impl ... | -| main.rs:1988:17:1988:32 | get_a_my_trait(...) | | main.rs:1960:28:1960:43 | impl ... | -| main.rs:1989:32:1989:32 | a | | main.rs:1960:28:1960:43 | impl ... | -| main.rs:1990:13:1990:13 | a | | main.rs:1960:28:1960:43 | impl ... | -| main.rs:1990:17:1990:32 | get_a_my_trait(...) | | main.rs:1960:28:1960:43 | impl ... | -| main.rs:1991:32:1991:32 | a | | main.rs:1960:28:1960:43 | impl ... | -| main.rs:1993:17:1993:35 | get_a_my_trait2(...) | | main.rs:1968:43:1968:57 | impl ... | -| main.rs:1996:17:1996:35 | get_a_my_trait3(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:1996:17:1996:35 | get_a_my_trait3(...) | T | main.rs:1972:50:1972:64 | impl ... | -| main.rs:1997:17:1997:35 | get_a_my_trait4(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1997:17:1997:35 | get_a_my_trait4(...) | T0 | main.rs:1976:44:1976:58 | impl ... | -| main.rs:1997:17:1997:35 | get_a_my_trait4(...) | T1 | main.rs:1976:61:1976:75 | impl ... | -| main.rs:2008:16:2008:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2008:16:2008:20 | SelfParam | TRef | main.rs:2004:5:2005:13 | S | -| main.rs:2008:31:2010:9 | { ... } | | main.rs:2004:5:2005:13 | S | -| main.rs:2019:26:2021:9 | { ... } | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2019:26:2021:9 | { ... } | T | main.rs:2018:10:2018:10 | T | -| main.rs:2020:13:2020:38 | MyVec {...} | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2020:27:2020:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2020:27:2020:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2023:17:2023:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:2023:17:2023:25 | SelfParam | TRefMut | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2023:17:2023:25 | SelfParam | TRefMut.T | main.rs:2018:10:2018:10 | T | -| main.rs:2023:28:2023:32 | value | | main.rs:2018:10:2018:10 | T | -| main.rs:2023:38:2025:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2024:13:2024:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2024:13:2024:16 | self | TRefMut | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2024:13:2024:16 | self | TRefMut.T | main.rs:2018:10:2018:10 | T | -| main.rs:2024:28:2024:32 | value | | main.rs:2018:10:2018:10 | T | -| main.rs:2032:18:2032:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2032:18:2032:22 | SelfParam | TRef | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2032:18:2032:22 | SelfParam | TRef.T | main.rs:2028:10:2028:10 | T | -| main.rs:2032:25:2032:29 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:2032:56:2034:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2032:56:2034:9 | { ... } | TRef | main.rs:2028:10:2028:10 | T | -| main.rs:2033:13:2033:29 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2033:14:2033:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2033:14:2033:17 | self | TRef | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2033:14:2033:17 | self | TRef.T | main.rs:2028:10:2028:10 | T | -| main.rs:2033:24:2033:28 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:2037:22:2037:26 | slice | | {EXTERNAL LOCATION} | & | -| main.rs:2037:22:2037:26 | slice | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:2037:22:2037:26 | slice | TRef.TSlice | main.rs:2004:5:2005:13 | S | -| main.rs:2037:35:2039:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2038:17:2038:21 | slice | | {EXTERNAL LOCATION} | & | -| main.rs:2038:17:2038:21 | slice | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:2038:17:2038:21 | slice | TRef.TSlice | main.rs:2004:5:2005:13 | S | -| main.rs:2041:37:2041:37 | a | | main.rs:2041:20:2041:34 | T | -| main.rs:2041:43:2041:43 | b | | {EXTERNAL LOCATION} | usize | -| main.rs:2044:5:2046:5 | { ... } | | main.rs:2041:20:2041:34 | T::Output[Index] | -| main.rs:2045:9:2045:9 | a | | main.rs:2041:20:2041:34 | T | -| main.rs:2045:11:2045:11 | b | | {EXTERNAL LOCATION} | usize | -| main.rs:2048:16:2059:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2049:17:2049:19 | vec | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2049:23:2049:34 | ...::new(...) | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2050:9:2050:11 | vec | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2051:9:2051:11 | vec | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2053:13:2053:14 | xs | | {EXTERNAL LOCATION} | [;] | -| main.rs:2053:13:2053:14 | xs | TArray | main.rs:2004:5:2005:13 | S | -| main.rs:2053:26:2053:28 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2054:17:2054:18 | xs | | {EXTERNAL LOCATION} | [;] | -| main.rs:2054:17:2054:18 | xs | TArray | main.rs:2004:5:2005:13 | S | -| main.rs:2056:29:2056:31 | vec | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2058:9:2058:26 | analyze_slice(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2058:23:2058:25 | &xs | | {EXTERNAL LOCATION} | & | -| main.rs:2058:24:2058:25 | xs | | {EXTERNAL LOCATION} | [;] | -| main.rs:2058:24:2058:25 | xs | TArray | main.rs:2004:5:2005:13 | S | -| main.rs:2063:16:2065:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2064:25:2064:35 | "Hello, {}" | | {EXTERNAL LOCATION} | & | -| main.rs:2064:25:2064:35 | "Hello, {}" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2064:25:2064:45 | ...::format(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2064:38:2064:45 | "World!" | | {EXTERNAL LOCATION} | & | -| main.rs:2064:38:2064:45 | "World!" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2073:19:2073:22 | SelfParam | | main.rs:2069:5:2074:5 | Self [trait MyAdd] | -| main.rs:2073:25:2073:27 | rhs | | main.rs:2069:17:2069:26 | Rhs | -| main.rs:2080:19:2080:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2080:25:2080:29 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2080:45:2082:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2081:13:2081:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2089:19:2089:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2089:25:2089:29 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2089:25:2089:29 | value | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2089:46:2091:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2090:14:2090:18 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2090:14:2090:18 | value | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2098:19:2098:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2098:25:2098:29 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2098:46:2104:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2099:16:2099:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2113:19:2113:22 | SelfParam | | main.rs:2107:5:2107:19 | S | -| main.rs:2113:19:2113:22 | SelfParam | T | main.rs:2109:10:2109:17 | T | -| main.rs:2113:25:2113:29 | other | | main.rs:2107:5:2107:19 | S | -| main.rs:2113:25:2113:29 | other | T | main.rs:2109:10:2109:17 | T | -| main.rs:2113:54:2115:9 | { ... } | | main.rs:2107:5:2107:19 | S | -| main.rs:2113:54:2115:9 | { ... } | T | main.rs:2109:10:2109:17 | T::Output[MyAdd] | -| main.rs:2114:16:2114:19 | self | | main.rs:2107:5:2107:19 | S | -| main.rs:2114:16:2114:19 | self | T | main.rs:2109:10:2109:17 | T | -| main.rs:2114:31:2114:35 | other | | main.rs:2107:5:2107:19 | S | -| main.rs:2114:31:2114:35 | other | T | main.rs:2109:10:2109:17 | T | -| main.rs:2122:19:2122:22 | SelfParam | | main.rs:2107:5:2107:19 | S | -| main.rs:2122:19:2122:22 | SelfParam | T | main.rs:2118:10:2118:17 | T | -| main.rs:2122:25:2122:29 | other | | main.rs:2118:10:2118:17 | T | -| main.rs:2122:51:2124:9 | { ... } | | main.rs:2107:5:2107:19 | S | -| main.rs:2122:51:2124:9 | { ... } | T | main.rs:2118:10:2118:17 | T::Output[MyAdd] | -| main.rs:2123:16:2123:19 | self | | main.rs:2107:5:2107:19 | S | -| main.rs:2123:16:2123:19 | self | T | main.rs:2118:10:2118:17 | T | -| main.rs:2123:31:2123:35 | other | | main.rs:2118:10:2118:17 | T | -| main.rs:2134:19:2134:22 | SelfParam | | main.rs:2107:5:2107:19 | S | -| main.rs:2134:19:2134:22 | SelfParam | T | main.rs:2127:14:2127:14 | T | -| main.rs:2134:25:2134:29 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2134:25:2134:29 | other | TRef | main.rs:2127:14:2127:14 | T | -| main.rs:2134:55:2136:9 | { ... } | | main.rs:2107:5:2107:19 | S | -| main.rs:2134:55:2136:9 | { ... } | T | main.rs:2127:14:2127:14 | T::Output[MyAdd] | -| main.rs:2135:16:2135:19 | self | | main.rs:2107:5:2107:19 | S | -| main.rs:2135:16:2135:19 | self | T | main.rs:2127:14:2127:14 | T | -| main.rs:2135:31:2135:35 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2135:31:2135:35 | other | TRef | main.rs:2127:14:2127:14 | T | -| main.rs:2141:20:2141:24 | value | | main.rs:2139:18:2139:18 | T | -| main.rs:2146:20:2146:24 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2146:40:2148:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2147:13:2147:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2153:20:2153:24 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2153:41:2159:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2154:16:2154:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2164:21:2164:25 | value | | main.rs:2162:19:2162:19 | T | -| main.rs:2164:31:2164:31 | x | | main.rs:2162:5:2165:5 | Self [trait MyFrom2] | -| main.rs:2169:21:2169:25 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2169:33:2169:33 | _ | | {EXTERNAL LOCATION} | i64 | -| main.rs:2169:48:2171:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2170:13:2170:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2176:21:2176:25 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2176:34:2176:34 | _ | | {EXTERNAL LOCATION} | i64 | -| main.rs:2176:49:2182:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2177:16:2177:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2187:15:2187:15 | x | | main.rs:2185:5:2191:5 | Self [trait MySelfTrait] | -| main.rs:2190:15:2190:15 | x | | main.rs:2185:5:2191:5 | Self [trait MySelfTrait] | -| main.rs:2195:15:2195:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2195:31:2197:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2196:13:2196:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2200:15:2200:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2200:32:2202:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2201:13:2201:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2207:15:2207:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2207:31:2209:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2212:15:2212:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2212:32:2214:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2213:13:2213:13 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2217:16:2242:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1680:16:1680:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1680:22:1680:24 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1680:40:1685:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1681:13:1684:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1682:20:1682:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1682:30:1682:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1683:20:1683:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1683:30:1683:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1689:23:1689:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1689:23:1689:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1689:34:1689:36 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1689:44:1692:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1690:13:1690:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1690:13:1690:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1690:24:1690:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1691:13:1691:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1691:13:1691:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1691:24:1691:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1697:16:1697:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1697:30:1702:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1698:13:1701:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1699:21:1699:24 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1700:21:1700:24 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1707:16:1707:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1707:30:1712:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1708:13:1711:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1709:21:1709:24 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1710:21:1710:24 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1716:15:1716:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1716:15:1716:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1716:22:1716:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1716:22:1716:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1716:44:1718:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1717:13:1717:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1717:13:1717:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1717:13:1717:29 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1717:13:1717:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1717:23:1717:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1717:23:1717:27 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1717:34:1717:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1717:34:1717:37 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1717:34:1717:50 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1717:44:1717:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1717:44:1717:48 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1720:15:1720:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1720:15:1720:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1720:22:1720:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1720:22:1720:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1720:44:1722:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1721:13:1721:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1721:13:1721:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1721:13:1721:29 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1721:13:1721:50 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1721:23:1721:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1721:23:1721:27 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1721:34:1721:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1721:34:1721:37 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1721:34:1721:50 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1721:44:1721:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1721:44:1721:48 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1726:24:1726:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1726:24:1726:28 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1726:31:1726:35 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1726:31:1726:35 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1726:75:1728:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:1726:75:1728:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | +| main.rs:1727:14:1727:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1727:14:1727:17 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1727:23:1727:26 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1727:23:1727:26 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1727:43:1727:62 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1727:45:1727:49 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1727:45:1727:49 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1727:55:1727:59 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1727:55:1727:59 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1730:15:1730:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1730:15:1730:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1730:22:1730:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1730:22:1730:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1730:44:1732:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1731:13:1731:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1731:13:1731:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1731:13:1731:28 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1731:13:1731:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1731:22:1731:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1731:22:1731:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1731:33:1731:36 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1731:33:1731:36 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1731:33:1731:48 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1731:42:1731:46 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1731:42:1731:46 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1734:15:1734:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1734:15:1734:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1734:22:1734:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1734:22:1734:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1734:44:1736:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1735:13:1735:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1735:13:1735:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1735:13:1735:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1735:13:1735:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1735:23:1735:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1735:23:1735:27 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1735:34:1735:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1735:34:1735:37 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1735:34:1735:50 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1735:44:1735:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1735:44:1735:48 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1738:15:1738:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1738:15:1738:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1738:22:1738:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1738:22:1738:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1738:44:1740:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1739:13:1739:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1739:13:1739:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1739:13:1739:28 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1739:13:1739:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1739:22:1739:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1739:22:1739:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1739:33:1739:36 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1739:33:1739:36 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1739:33:1739:48 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1739:42:1739:46 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1739:42:1739:46 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1742:15:1742:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1742:15:1742:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1742:22:1742:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1742:22:1742:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1742:44:1744:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1743:13:1743:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1743:13:1743:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1743:13:1743:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1743:13:1743:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1743:23:1743:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1743:23:1743:27 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1743:34:1743:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1743:34:1743:37 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1743:34:1743:50 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1743:44:1743:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1743:44:1743:48 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1747:26:1747:26 | a | | main.rs:1747:18:1747:23 | T | +| main.rs:1747:32:1747:32 | b | | main.rs:1747:18:1747:23 | T | +| main.rs:1747:51:1749:5 | { ... } | | main.rs:1747:18:1747:23 | T::Output[Add] | +| main.rs:1748:9:1748:9 | a | | main.rs:1747:18:1747:23 | T | +| main.rs:1748:13:1748:13 | b | | main.rs:1747:18:1747:23 | T | +| main.rs:1751:16:1882:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1755:23:1755:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1755:31:1755:34 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1756:23:1756:26 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1756:31:1756:34 | 4i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1757:23:1757:26 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1757:30:1757:33 | 6i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1758:23:1758:26 | 7i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1758:31:1758:34 | 8i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1759:23:1759:26 | 9i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1759:30:1759:34 | 10i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1760:23:1760:27 | 11i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1760:32:1760:36 | 12i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1763:23:1763:27 | 13i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1763:31:1763:35 | 14i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1764:23:1764:27 | 15i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1764:31:1764:35 | 16i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1765:23:1765:27 | 17i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1765:31:1765:35 | 18i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1766:23:1766:27 | 19i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1766:31:1766:35 | 20i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1767:23:1767:27 | 21i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1767:31:1767:35 | 22i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1768:39:1768:42 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1768:45:1768:48 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1771:17:1771:30 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1771:34:1771:38 | 23i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1772:9:1772:22 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1772:27:1772:31 | 24i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1774:17:1774:30 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1774:34:1774:38 | 25i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1775:9:1775:22 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1775:27:1775:31 | 26i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1777:17:1777:30 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1777:34:1777:38 | 27i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1778:9:1778:22 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1778:27:1778:31 | 28i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1780:17:1780:30 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1780:34:1780:38 | 29i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1781:9:1781:22 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1781:27:1781:31 | 30i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1783:17:1783:30 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1783:34:1783:38 | 31i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1784:9:1784:22 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1784:27:1784:31 | 32i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1787:26:1787:30 | 33i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1787:34:1787:38 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1788:25:1788:29 | 35i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1788:33:1788:37 | 36i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1789:26:1789:30 | 37i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1789:34:1789:38 | 38i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1790:23:1790:27 | 39i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1790:32:1790:36 | 40i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1791:23:1791:27 | 41i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1791:32:1791:36 | 42i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1794:17:1794:33 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1794:37:1794:41 | 43i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1795:9:1795:25 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1795:30:1795:34 | 44i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1797:17:1797:32 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1797:36:1797:40 | 45i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1798:9:1798:24 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1798:29:1798:33 | 46i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1800:17:1800:33 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1800:37:1800:41 | 47i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1801:9:1801:25 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1801:30:1801:34 | 48i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1803:17:1803:30 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1803:34:1803:38 | 49i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1804:9:1804:22 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1804:28:1804:32 | 50i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1806:17:1806:30 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1806:34:1806:38 | 51i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1807:9:1807:22 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1807:28:1807:32 | 52i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1809:24:1809:28 | 53i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1810:24:1810:28 | 54i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1813:13:1813:14 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1813:18:1813:36 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1814:13:1814:14 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1814:18:1814:36 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1817:23:1817:24 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1817:29:1817:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1818:23:1818:24 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1818:29:1818:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1819:23:1819:24 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1819:28:1819:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1820:23:1820:24 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1820:29:1820:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1821:23:1821:24 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1821:28:1821:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1822:23:1822:24 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1822:29:1822:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1825:24:1825:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1825:29:1825:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1826:24:1826:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1826:29:1826:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1827:24:1827:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1827:29:1827:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1828:24:1828:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1828:29:1828:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1829:24:1829:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1829:29:1829:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1832:17:1832:31 | vec2_add_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1832:35:1832:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1833:9:1833:23 | vec2_add_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1833:28:1833:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1835:17:1835:31 | vec2_sub_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1835:35:1835:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1836:9:1836:23 | vec2_sub_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1836:28:1836:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1838:17:1838:31 | vec2_mul_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1838:35:1838:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1839:9:1839:23 | vec2_mul_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1839:28:1839:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1841:17:1841:31 | vec2_div_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1841:35:1841:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1842:9:1842:23 | vec2_div_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1842:28:1842:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1844:17:1844:31 | vec2_rem_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1844:35:1844:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1845:9:1845:23 | vec2_rem_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1845:28:1845:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1848:27:1848:28 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1848:32:1848:33 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1849:26:1849:27 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1849:31:1849:32 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1850:27:1850:28 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1850:32:1850:33 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1851:24:1851:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1851:30:1851:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1852:24:1852:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1852:30:1852:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1855:17:1855:34 | vec2_bitand_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1855:38:1855:39 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1856:9:1856:26 | vec2_bitand_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1856:31:1856:32 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1858:17:1858:33 | vec2_bitor_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1858:37:1858:38 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1859:9:1859:25 | vec2_bitor_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1859:30:1859:31 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1861:17:1861:34 | vec2_bitxor_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1861:38:1861:39 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1862:9:1862:26 | vec2_bitxor_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1862:31:1862:32 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1864:17:1864:31 | vec2_shl_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1864:35:1864:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1865:9:1865:23 | vec2_shl_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1865:29:1865:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1867:17:1867:31 | vec2_shr_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1867:35:1867:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1868:9:1868:23 | vec2_shr_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1868:29:1868:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1871:25:1871:26 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1872:25:1872:26 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1876:30:1876:48 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1881:30:1881:48 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1891:18:1891:21 | SelfParam | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1891:24:1891:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1894:25:1896:5 | { ... } | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1899:9:1899:20 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1903:9:1903:16 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1903:9:1903:16 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | +| main.rs:1912:13:1912:42 | SelfParam | | {EXTERNAL LOCATION} | Pin | +| main.rs:1912:13:1912:42 | SelfParam | Ptr | {EXTERNAL LOCATION} | &mut | +| main.rs:1912:13:1912:42 | SelfParam | Ptr.TRefMut | main.rs:1906:5:1906:14 | S2 | +| main.rs:1913:13:1913:15 | _cx | | {EXTERNAL LOCATION} | &mut | +| main.rs:1913:13:1913:15 | _cx | TRefMut | {EXTERNAL LOCATION} | Context | +| main.rs:1914:44:1916:9 | { ... } | | {EXTERNAL LOCATION} | Poll | +| main.rs:1914:44:1916:9 | { ... } | T | main.rs:1888:5:1888:14 | S1 | +| main.rs:1923:22:1931:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1924:9:1924:12 | f1(...) | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1924:9:1924:12 | f1(...) | dyn(Output) | main.rs:1888:5:1888:14 | S1 | +| main.rs:1925:9:1925:12 | f2(...) | | main.rs:1898:16:1898:39 | impl ... | +| main.rs:1926:9:1926:12 | f3(...) | | main.rs:1902:16:1902:39 | impl ... | +| main.rs:1927:9:1927:12 | f4(...) | | main.rs:1919:16:1919:39 | impl ... | +| main.rs:1929:13:1929:13 | b | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1929:17:1929:28 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1930:9:1930:9 | b | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1941:15:1941:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1941:15:1941:19 | SelfParam | TRef | main.rs:1940:5:1942:5 | Self [trait Trait1] | +| main.rs:1941:22:1941:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1945:15:1945:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1945:15:1945:19 | SelfParam | TRef | main.rs:1944:5:1946:5 | Self [trait Trait2] | +| main.rs:1945:22:1945:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1949:15:1949:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1949:15:1949:19 | SelfParam | TRef | main.rs:1935:5:1936:14 | S1 | +| main.rs:1949:22:1949:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1953:15:1953:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1953:15:1953:19 | SelfParam | TRef | main.rs:1935:5:1936:14 | S1 | +| main.rs:1953:22:1953:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1961:18:1961:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1961:18:1961:22 | SelfParam | TRef | main.rs:1960:5:1962:5 | Self [trait MyTrait] | +| main.rs:1965:18:1965:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1965:18:1965:22 | SelfParam | TRef | main.rs:1935:5:1936:14 | S1 | +| main.rs:1965:31:1967:9 | { ... } | | main.rs:1937:5:1937:14 | S2 | +| main.rs:1971:18:1971:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1971:18:1971:22 | SelfParam | TRef | main.rs:1938:5:1938:22 | S3 | +| main.rs:1971:18:1971:22 | SelfParam | TRef.T3 | main.rs:1970:10:1970:17 | T | +| main.rs:1971:30:1974:9 | { ... } | | main.rs:1970:10:1970:17 | T | +| main.rs:1972:25:1972:28 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1972:25:1972:28 | self | TRef | main.rs:1938:5:1938:22 | S3 | +| main.rs:1972:25:1972:28 | self | TRef.T3 | main.rs:1970:10:1970:17 | T | +| main.rs:1981:41:1981:41 | t | | main.rs:1981:26:1981:38 | B | +| main.rs:1981:52:1983:5 | { ... } | | main.rs:1981:23:1981:23 | A | +| main.rs:1982:9:1982:9 | t | | main.rs:1981:26:1981:38 | B | +| main.rs:1985:34:1985:34 | x | | main.rs:1985:24:1985:31 | T | +| main.rs:1985:59:1987:5 | { ... } | | main.rs:1985:43:1985:57 | impl ... | +| main.rs:1985:59:1987:5 | { ... } | impl(T) | main.rs:1985:24:1985:31 | T | +| main.rs:1986:12:1986:12 | x | | main.rs:1985:24:1985:31 | T | +| main.rs:1989:34:1989:34 | x | | main.rs:1989:24:1989:31 | T | +| main.rs:1989:67:1991:5 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:1989:67:1991:5 | { ... } | T | main.rs:1989:50:1989:64 | impl ... | +| main.rs:1989:67:1991:5 | { ... } | T.impl(T) | main.rs:1989:24:1989:31 | T | +| main.rs:1990:17:1990:17 | x | | main.rs:1989:24:1989:31 | T | +| main.rs:1993:34:1993:34 | x | | main.rs:1993:24:1993:31 | T | +| main.rs:1993:78:1995:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1993:78:1995:5 | { ... } | T0 | main.rs:1993:44:1993:58 | impl ... | +| main.rs:1993:78:1995:5 | { ... } | T0.impl(T) | main.rs:1993:24:1993:31 | T | +| main.rs:1993:78:1995:5 | { ... } | T1 | main.rs:1993:61:1993:75 | impl ... | +| main.rs:1993:78:1995:5 | { ... } | T1.impl(T) | main.rs:1993:24:1993:31 | T | +| main.rs:1994:9:1994:30 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1994:13:1994:13 | x | | main.rs:1993:24:1993:31 | T | +| main.rs:1994:28:1994:28 | x | | main.rs:1993:24:1993:31 | T | +| main.rs:1997:26:1997:26 | t | | main.rs:1997:29:1997:43 | impl ... | +| main.rs:1997:51:1999:5 | { ... } | | main.rs:1997:23:1997:23 | A | +| main.rs:1998:9:1998:9 | t | | main.rs:1997:29:1997:43 | impl ... | +| main.rs:2001:16:2015:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2002:13:2002:13 | x | | main.rs:1956:16:1956:35 | impl ... + ... | +| main.rs:2002:17:2002:20 | f1(...) | | main.rs:1956:16:1956:35 | impl ... + ... | +| main.rs:2003:9:2003:9 | x | | main.rs:1956:16:1956:35 | impl ... + ... | +| main.rs:2004:9:2004:9 | x | | main.rs:1956:16:1956:35 | impl ... + ... | +| main.rs:2005:13:2005:13 | a | | main.rs:1977:28:1977:43 | impl ... | +| main.rs:2005:17:2005:32 | get_a_my_trait(...) | | main.rs:1977:28:1977:43 | impl ... | +| main.rs:2006:32:2006:32 | a | | main.rs:1977:28:1977:43 | impl ... | +| main.rs:2007:13:2007:13 | a | | main.rs:1977:28:1977:43 | impl ... | +| main.rs:2007:17:2007:32 | get_a_my_trait(...) | | main.rs:1977:28:1977:43 | impl ... | +| main.rs:2008:32:2008:32 | a | | main.rs:1977:28:1977:43 | impl ... | +| main.rs:2010:17:2010:35 | get_a_my_trait2(...) | | main.rs:1985:43:1985:57 | impl ... | +| main.rs:2013:17:2013:35 | get_a_my_trait3(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2013:17:2013:35 | get_a_my_trait3(...) | T | main.rs:1989:50:1989:64 | impl ... | +| main.rs:2014:17:2014:35 | get_a_my_trait4(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2014:17:2014:35 | get_a_my_trait4(...) | T0 | main.rs:1993:44:1993:58 | impl ... | +| main.rs:2014:17:2014:35 | get_a_my_trait4(...) | T1 | main.rs:1993:61:1993:75 | impl ... | +| main.rs:2025:16:2025:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2025:16:2025:20 | SelfParam | TRef | main.rs:2021:5:2022:13 | S | +| main.rs:2025:31:2027:9 | { ... } | | main.rs:2021:5:2022:13 | S | +| main.rs:2036:26:2038:9 | { ... } | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2036:26:2038:9 | { ... } | T | main.rs:2035:10:2035:10 | T | +| main.rs:2037:13:2037:38 | MyVec {...} | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2037:27:2037:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2037:27:2037:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2040:17:2040:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:2040:17:2040:25 | SelfParam | TRefMut | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2040:17:2040:25 | SelfParam | TRefMut.T | main.rs:2035:10:2035:10 | T | +| main.rs:2040:28:2040:32 | value | | main.rs:2035:10:2035:10 | T | +| main.rs:2040:38:2042:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2041:13:2041:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:2041:13:2041:16 | self | TRefMut | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2041:13:2041:16 | self | TRefMut.T | main.rs:2035:10:2035:10 | T | +| main.rs:2041:28:2041:32 | value | | main.rs:2035:10:2035:10 | T | +| main.rs:2049:18:2049:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2049:18:2049:22 | SelfParam | TRef | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2049:18:2049:22 | SelfParam | TRef.T | main.rs:2045:10:2045:10 | T | +| main.rs:2049:25:2049:29 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:2049:56:2051:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2049:56:2051:9 | { ... } | TRef | main.rs:2045:10:2045:10 | T | +| main.rs:2050:13:2050:29 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2050:14:2050:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2050:14:2050:17 | self | TRef | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2050:14:2050:17 | self | TRef.T | main.rs:2045:10:2045:10 | T | +| main.rs:2050:24:2050:28 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:2054:22:2054:26 | slice | | {EXTERNAL LOCATION} | & | +| main.rs:2054:22:2054:26 | slice | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:2054:22:2054:26 | slice | TRef.TSlice | main.rs:2021:5:2022:13 | S | +| main.rs:2054:35:2056:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2055:17:2055:21 | slice | | {EXTERNAL LOCATION} | & | +| main.rs:2055:17:2055:21 | slice | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:2055:17:2055:21 | slice | TRef.TSlice | main.rs:2021:5:2022:13 | S | +| main.rs:2058:37:2058:37 | a | | main.rs:2058:20:2058:34 | T | +| main.rs:2058:43:2058:43 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2061:5:2063:5 | { ... } | | main.rs:2058:20:2058:34 | T::Output[Index] | +| main.rs:2062:9:2062:9 | a | | main.rs:2058:20:2058:34 | T | +| main.rs:2062:11:2062:11 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2065:16:2076:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2066:17:2066:19 | vec | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2066:23:2066:34 | ...::new(...) | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2067:9:2067:11 | vec | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2068:9:2068:11 | vec | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2070:13:2070:14 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2070:13:2070:14 | xs | TArray | main.rs:2021:5:2022:13 | S | +| main.rs:2070:26:2070:28 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2071:17:2071:18 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2071:17:2071:18 | xs | TArray | main.rs:2021:5:2022:13 | S | +| main.rs:2073:29:2073:31 | vec | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2075:9:2075:26 | analyze_slice(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2075:23:2075:25 | &xs | | {EXTERNAL LOCATION} | & | +| main.rs:2075:24:2075:25 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2075:24:2075:25 | xs | TArray | main.rs:2021:5:2022:13 | S | +| main.rs:2080:16:2082:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2081:25:2081:35 | "Hello, {}" | | {EXTERNAL LOCATION} | & | +| main.rs:2081:25:2081:35 | "Hello, {}" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2081:25:2081:45 | ...::format(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2081:38:2081:45 | "World!" | | {EXTERNAL LOCATION} | & | +| main.rs:2081:38:2081:45 | "World!" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2090:19:2090:22 | SelfParam | | main.rs:2086:5:2091:5 | Self [trait MyAdd] | +| main.rs:2090:25:2090:27 | rhs | | main.rs:2086:17:2086:26 | Rhs | +| main.rs:2097:19:2097:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2097:25:2097:29 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2097:45:2099:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2098:13:2098:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2106:19:2106:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2106:25:2106:29 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2106:25:2106:29 | value | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2106:46:2108:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2107:14:2107:18 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2107:14:2107:18 | value | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2115:19:2115:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2115:25:2115:29 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2115:46:2121:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2116:16:2116:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2130:19:2130:22 | SelfParam | | main.rs:2124:5:2124:19 | S | +| main.rs:2130:19:2130:22 | SelfParam | T | main.rs:2126:10:2126:17 | T | +| main.rs:2130:25:2130:29 | other | | main.rs:2124:5:2124:19 | S | +| main.rs:2130:25:2130:29 | other | T | main.rs:2126:10:2126:17 | T | +| main.rs:2130:54:2132:9 | { ... } | | main.rs:2124:5:2124:19 | S | +| main.rs:2130:54:2132:9 | { ... } | T | main.rs:2126:10:2126:17 | T::Output[MyAdd] | +| main.rs:2131:16:2131:19 | self | | main.rs:2124:5:2124:19 | S | +| main.rs:2131:16:2131:19 | self | T | main.rs:2126:10:2126:17 | T | +| main.rs:2131:31:2131:35 | other | | main.rs:2124:5:2124:19 | S | +| main.rs:2131:31:2131:35 | other | T | main.rs:2126:10:2126:17 | T | +| main.rs:2139:19:2139:22 | SelfParam | | main.rs:2124:5:2124:19 | S | +| main.rs:2139:19:2139:22 | SelfParam | T | main.rs:2135:10:2135:17 | T | +| main.rs:2139:25:2139:29 | other | | main.rs:2135:10:2135:17 | T | +| main.rs:2139:51:2141:9 | { ... } | | main.rs:2124:5:2124:19 | S | +| main.rs:2139:51:2141:9 | { ... } | T | main.rs:2135:10:2135:17 | T::Output[MyAdd] | +| main.rs:2140:16:2140:19 | self | | main.rs:2124:5:2124:19 | S | +| main.rs:2140:16:2140:19 | self | T | main.rs:2135:10:2135:17 | T | +| main.rs:2140:31:2140:35 | other | | main.rs:2135:10:2135:17 | T | +| main.rs:2151:19:2151:22 | SelfParam | | main.rs:2124:5:2124:19 | S | +| main.rs:2151:19:2151:22 | SelfParam | T | main.rs:2144:14:2144:14 | T | +| main.rs:2151:25:2151:29 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2151:25:2151:29 | other | TRef | main.rs:2144:14:2144:14 | T | +| main.rs:2151:55:2153:9 | { ... } | | main.rs:2124:5:2124:19 | S | +| main.rs:2151:55:2153:9 | { ... } | T | main.rs:2144:14:2144:14 | T::Output[MyAdd] | +| main.rs:2152:16:2152:19 | self | | main.rs:2124:5:2124:19 | S | +| main.rs:2152:16:2152:19 | self | T | main.rs:2144:14:2144:14 | T | +| main.rs:2152:31:2152:35 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2152:31:2152:35 | other | TRef | main.rs:2144:14:2144:14 | T | +| main.rs:2158:20:2158:24 | value | | main.rs:2156:18:2156:18 | T | +| main.rs:2163:20:2163:24 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2163:40:2165:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2164:13:2164:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2170:20:2170:24 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2170:41:2176:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2171:16:2171:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2181:21:2181:25 | value | | main.rs:2179:19:2179:19 | T | +| main.rs:2181:31:2181:31 | x | | main.rs:2179:5:2182:5 | Self [trait MyFrom2] | +| main.rs:2186:21:2186:25 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2186:33:2186:33 | _ | | {EXTERNAL LOCATION} | i64 | +| main.rs:2186:48:2188:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2187:13:2187:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2193:21:2193:25 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2193:34:2193:34 | _ | | {EXTERNAL LOCATION} | i64 | +| main.rs:2193:49:2199:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2194:16:2194:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2204:15:2204:15 | x | | main.rs:2202:5:2208:5 | Self [trait MySelfTrait] | +| main.rs:2207:15:2207:15 | x | | main.rs:2202:5:2208:5 | Self [trait MySelfTrait] | +| main.rs:2212:15:2212:15 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2212:31:2214:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2213:13:2213:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2217:15:2217:15 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2217:32:2219:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2218:13:2218:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2219:9:2219:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2219:18:2219:21 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2220:9:2220:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2220:18:2220:22 | &5i64 | | {EXTERNAL LOCATION} | & | -| main.rs:2220:19:2220:22 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2221:9:2221:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2221:18:2221:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2223:11:2223:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2223:26:2223:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2224:11:2224:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2224:24:2224:27 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2225:11:2225:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2225:24:2225:28 | &3i64 | | {EXTERNAL LOCATION} | & | -| main.rs:2225:25:2225:28 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2227:13:2227:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2227:17:2227:35 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2227:30:2227:34 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2228:13:2228:13 | y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2228:17:2228:34 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2228:30:2228:33 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2229:13:2229:13 | z | | {EXTERNAL LOCATION} | i64 | -| main.rs:2229:38:2229:42 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2230:9:2230:34 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2230:23:2230:27 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2230:30:2230:33 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2231:9:2231:33 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2231:23:2231:26 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2231:29:2231:32 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2232:9:2232:38 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2232:27:2232:31 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2232:34:2232:37 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2234:9:2234:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2234:17:2234:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2235:9:2235:22 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2235:17:2235:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2236:9:2236:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2236:18:2236:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2237:9:2237:22 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2237:18:2237:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2238:9:2238:30 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2238:25:2238:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2239:25:2239:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2240:9:2240:29 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2240:25:2240:28 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2241:25:2241:28 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2249:26:2251:9 | { ... } | | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2250:13:2250:25 | MyCallable {...} | | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2253:17:2253:21 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2253:17:2253:21 | SelfParam | TRef | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2253:31:2255:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2258:16:2365:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2261:9:2261:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2261:18:2261:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2261:28:2261:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2262:9:2262:44 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2262:18:2262:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2262:32:2262:40 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | -| main.rs:2262:43:2262:44 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2263:9:2263:41 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2263:18:2263:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2263:40:2263:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2265:13:2265:17 | vals1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2265:21:2265:31 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2265:22:2265:24 | 1u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2266:9:2266:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2266:18:2266:22 | vals1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2266:24:2266:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2268:13:2268:17 | vals2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2268:21:2268:29 | [1u16; 3] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2268:22:2268:25 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2269:9:2269:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2269:18:2269:22 | vals2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2269:24:2269:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2271:13:2271:17 | vals3 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2271:13:2271:17 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | -| main.rs:2271:31:2271:39 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2272:9:2272:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2272:18:2272:22 | vals3 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2272:18:2272:22 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | -| main.rs:2272:24:2272:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2274:13:2274:17 | vals4 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2274:13:2274:17 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2274:31:2274:36 | [1; 3] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2275:9:2275:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2275:18:2275:22 | vals4 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2275:18:2275:22 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2275:24:2275:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2277:17:2277:24 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2277:28:2277:48 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2277:29:2277:33 | "foo" | | {EXTERNAL LOCATION} | & | -| main.rs:2277:29:2277:33 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2277:36:2277:40 | "bar" | | {EXTERNAL LOCATION} | & | -| main.rs:2277:36:2277:40 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2277:43:2277:47 | "baz" | | {EXTERNAL LOCATION} | & | -| main.rs:2277:43:2277:47 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2224:15:2224:15 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2224:31:2226:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2229:15:2229:15 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2229:32:2231:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2230:13:2230:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2234:16:2259:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2235:13:2235:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2236:9:2236:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2236:18:2236:21 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2237:9:2237:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2237:18:2237:22 | &5i64 | | {EXTERNAL LOCATION} | & | +| main.rs:2237:19:2237:22 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2238:9:2238:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2238:18:2238:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2240:11:2240:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2240:26:2240:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2241:11:2241:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2241:24:2241:27 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2242:11:2242:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2242:24:2242:28 | &3i64 | | {EXTERNAL LOCATION} | & | +| main.rs:2242:25:2242:28 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2244:13:2244:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2244:17:2244:35 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2244:30:2244:34 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2245:13:2245:13 | y | | {EXTERNAL LOCATION} | i64 | +| main.rs:2245:17:2245:34 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2245:30:2245:33 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2246:13:2246:13 | z | | {EXTERNAL LOCATION} | i64 | +| main.rs:2246:38:2246:42 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2247:9:2247:34 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2247:23:2247:27 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2247:30:2247:33 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2248:9:2248:33 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2248:23:2248:26 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2248:29:2248:32 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2249:9:2249:38 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2249:27:2249:31 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2249:34:2249:37 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2251:9:2251:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2251:17:2251:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2252:9:2252:22 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2252:17:2252:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2253:9:2253:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2253:18:2253:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2254:9:2254:22 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2254:18:2254:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2255:9:2255:30 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2255:25:2255:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2256:25:2256:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2257:9:2257:29 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2257:25:2257:28 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2258:25:2258:28 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2266:26:2268:9 | { ... } | | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2267:13:2267:25 | MyCallable {...} | | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2270:17:2270:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2270:17:2270:21 | SelfParam | TRef | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2270:31:2272:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2275:16:2382:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2278:9:2278:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2278:18:2278:26 | &strings1 | | {EXTERNAL LOCATION} | & | -| main.rs:2278:19:2278:26 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2278:18:2278:26 | [...] | | {EXTERNAL LOCATION} | [;] | | main.rs:2278:28:2278:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2279:9:2279:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2279:18:2279:30 | &mut strings1 | | {EXTERNAL LOCATION} | &mut | -| main.rs:2279:23:2279:30 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2279:32:2279:33 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2280:9:2280:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2280:18:2280:25 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2280:27:2280:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2282:13:2282:20 | strings2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2283:9:2287:9 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2284:13:2284:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2284:26:2284:30 | "foo" | | {EXTERNAL LOCATION} | & | -| main.rs:2284:26:2284:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2285:13:2285:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2285:26:2285:30 | "bar" | | {EXTERNAL LOCATION} | & | -| main.rs:2285:26:2285:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2286:13:2286:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2286:26:2286:30 | "baz" | | {EXTERNAL LOCATION} | & | -| main.rs:2286:26:2286:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2288:9:2288:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2288:18:2288:25 | strings2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2288:27:2288:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2290:13:2290:20 | strings3 | | {EXTERNAL LOCATION} | & | -| main.rs:2291:9:2295:9 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2291:10:2295:9 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2292:13:2292:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2292:26:2292:30 | "foo" | | {EXTERNAL LOCATION} | & | -| main.rs:2292:26:2292:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2293:13:2293:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2293:26:2293:30 | "bar" | | {EXTERNAL LOCATION} | & | -| main.rs:2293:26:2293:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2294:13:2294:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2294:26:2294:30 | "baz" | | {EXTERNAL LOCATION} | & | -| main.rs:2294:26:2294:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2296:9:2296:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2296:18:2296:25 | strings3 | | {EXTERNAL LOCATION} | & | -| main.rs:2296:27:2296:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2298:13:2298:21 | callables | | {EXTERNAL LOCATION} | [;] | -| main.rs:2298:25:2298:81 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2298:26:2298:42 | ...::new(...) | | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2298:45:2298:61 | ...::new(...) | | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2298:64:2298:80 | ...::new(...) | | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2299:9:2303:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2300:12:2300:20 | callables | | {EXTERNAL LOCATION} | [;] | -| main.rs:2301:9:2303:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2307:9:2307:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2307:18:2307:22 | 0..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2307:24:2307:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2308:9:2308:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2308:18:2308:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2308:19:2308:21 | 0u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2308:19:2308:25 | 0u8..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2308:28:2308:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2309:13:2309:17 | range | | {EXTERNAL LOCATION} | Range | -| main.rs:2309:21:2309:25 | 0..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2310:9:2310:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2310:18:2310:22 | range | | {EXTERNAL LOCATION} | Range | -| main.rs:2310:24:2310:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2311:13:2311:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2311:26:2311:27 | .. | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2312:9:2312:51 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2312:18:2312:48 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2312:19:2312:36 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2312:20:2312:23 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2312:26:2312:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2312:32:2312:35 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2312:38:2312:47 | range_full | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2312:50:2312:51 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2314:13:2314:18 | range1 | | {EXTERNAL LOCATION} | Range | -| main.rs:2315:9:2318:9 | ...::Range {...} | | {EXTERNAL LOCATION} | Range | -| main.rs:2316:20:2316:23 | 0u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2317:18:2317:22 | 10u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2319:9:2319:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2319:18:2319:23 | range1 | | {EXTERNAL LOCATION} | Range | -| main.rs:2319:25:2319:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2279:9:2279:44 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2279:18:2279:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2279:32:2279:40 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| main.rs:2279:43:2279:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2280:9:2280:41 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2280:18:2280:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2280:40:2280:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2282:13:2282:17 | vals1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2282:21:2282:31 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2282:22:2282:24 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2283:9:2283:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2283:18:2283:22 | vals1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2283:24:2283:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2285:13:2285:17 | vals2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2285:21:2285:29 | [1u16; 3] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2285:22:2285:25 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2286:9:2286:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2286:18:2286:22 | vals2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2286:24:2286:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2288:13:2288:17 | vals3 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2288:13:2288:17 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2288:31:2288:39 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2289:9:2289:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2289:18:2289:22 | vals3 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2289:18:2289:22 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2289:24:2289:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2291:13:2291:17 | vals4 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2291:13:2291:17 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2291:31:2291:36 | [1; 3] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2292:9:2292:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2292:18:2292:22 | vals4 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2292:18:2292:22 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2292:24:2292:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2294:17:2294:24 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2294:28:2294:48 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2294:29:2294:33 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2294:29:2294:33 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2294:36:2294:40 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2294:36:2294:40 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2294:43:2294:47 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2294:43:2294:47 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2295:9:2295:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2295:18:2295:26 | &strings1 | | {EXTERNAL LOCATION} | & | +| main.rs:2295:19:2295:26 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2295:28:2295:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2296:9:2296:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2296:18:2296:30 | &mut strings1 | | {EXTERNAL LOCATION} | &mut | +| main.rs:2296:23:2296:30 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2296:32:2296:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2297:9:2297:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2297:18:2297:25 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2297:27:2297:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2299:13:2299:20 | strings2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2300:9:2304:9 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2301:13:2301:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2301:26:2301:30 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2301:26:2301:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2302:13:2302:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2302:26:2302:30 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2302:26:2302:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2303:13:2303:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2303:26:2303:30 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2303:26:2303:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2305:9:2305:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2305:18:2305:25 | strings2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2305:27:2305:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2307:13:2307:20 | strings3 | | {EXTERNAL LOCATION} | & | +| main.rs:2308:9:2312:9 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2308:10:2312:9 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2309:13:2309:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2309:26:2309:30 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2309:26:2309:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2310:13:2310:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2310:26:2310:30 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2310:26:2310:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2311:13:2311:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2311:26:2311:30 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2311:26:2311:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2313:9:2313:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2313:18:2313:25 | strings3 | | {EXTERNAL LOCATION} | & | +| main.rs:2313:27:2313:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2315:13:2315:21 | callables | | {EXTERNAL LOCATION} | [;] | +| main.rs:2315:25:2315:81 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2315:26:2315:42 | ...::new(...) | | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2315:45:2315:61 | ...::new(...) | | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2315:64:2315:80 | ...::new(...) | | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2316:9:2320:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2317:12:2317:20 | callables | | {EXTERNAL LOCATION} | [;] | +| main.rs:2318:9:2320:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2324:9:2324:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2324:18:2324:22 | 0..10 | | {EXTERNAL LOCATION} | Range | | main.rs:2324:24:2324:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2326:13:2326:18 | vals4a | | {EXTERNAL LOCATION} | Vec | -| main.rs:2326:13:2326:18 | vals4a | A | {EXTERNAL LOCATION} | Global | -| main.rs:2326:13:2326:18 | vals4a | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2326:32:2326:43 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2326:33:2326:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2327:9:2327:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2327:18:2327:23 | vals4a | | {EXTERNAL LOCATION} | Vec | -| main.rs:2327:18:2327:23 | vals4a | A | {EXTERNAL LOCATION} | Global | -| main.rs:2327:18:2327:23 | vals4a | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2327:25:2327:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2329:22:2329:33 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2329:23:2329:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2330:9:2330:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2330:25:2330:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2332:13:2332:17 | vals5 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2332:21:2332:43 | ...::from(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2332:31:2332:42 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2332:32:2332:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2333:9:2333:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2333:18:2333:22 | vals5 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2333:24:2333:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2335:13:2335:17 | vals6 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2335:13:2335:17 | vals6 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2335:13:2335:17 | vals6 | T | {EXTERNAL LOCATION} | & | -| main.rs:2335:13:2335:17 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | -| main.rs:2335:32:2335:43 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2335:33:2335:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | -| main.rs:2336:9:2336:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2336:18:2336:22 | vals6 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2336:18:2336:22 | vals6 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2336:18:2336:22 | vals6 | T | {EXTERNAL LOCATION} | & | -| main.rs:2336:18:2336:22 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | -| main.rs:2336:24:2336:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2338:17:2338:21 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2338:17:2338:21 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2338:25:2338:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2338:25:2338:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2339:9:2339:13 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2339:9:2339:13 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2339:20:2339:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2340:9:2340:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2340:18:2340:22 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2340:18:2340:22 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2340:24:2340:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2344:17:2347:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2345:13:2346:13 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2345:29:2346:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2349:17:2349:20 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2349:17:2349:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2349:24:2349:55 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2349:24:2349:55 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2350:9:2350:12 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2350:9:2350:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2350:24:2350:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2350:24:2350:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2350:33:2350:37 | "one" | | {EXTERNAL LOCATION} | & | -| main.rs:2350:33:2350:37 | "one" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2351:9:2351:12 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2351:9:2351:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2351:24:2351:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2351:24:2351:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2351:33:2351:37 | "two" | | {EXTERNAL LOCATION} | & | -| main.rs:2351:33:2351:37 | "two" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2352:9:2352:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2352:20:2352:23 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2352:20:2352:23 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2352:32:2352:33 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2353:9:2353:37 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2353:22:2353:25 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2353:22:2353:25 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2353:36:2353:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2354:9:2354:42 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2354:13:2354:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2354:29:2354:32 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2354:29:2354:32 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2354:41:2354:42 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2355:9:2355:36 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2355:13:2355:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2355:29:2355:33 | &map1 | | {EXTERNAL LOCATION} | & | -| main.rs:2355:30:2355:33 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2355:30:2355:33 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2355:35:2355:36 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2359:17:2359:17 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2361:17:2364:9 | while ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2361:23:2361:23 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2362:9:2364:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2363:13:2363:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2375:40:2377:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:2375:40:2377:9 | { ... } | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2375:40:2377:9 | { ... } | T.T | main.rs:2374:10:2374:19 | T | -| main.rs:2379:30:2381:9 | { ... } | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2379:30:2381:9 | { ... } | T | main.rs:2374:10:2374:19 | T | -| main.rs:2383:19:2383:22 | SelfParam | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2383:19:2383:22 | SelfParam | T | main.rs:2374:10:2374:19 | T | -| main.rs:2383:33:2385:9 | { ... } | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2383:33:2385:9 | { ... } | T | main.rs:2374:10:2374:19 | T | -| main.rs:2384:13:2384:16 | self | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2384:13:2384:16 | self | T | main.rs:2374:10:2374:19 | T | -| main.rs:2396:15:2396:15 | x | | main.rs:2396:12:2396:12 | T | -| main.rs:2396:26:2398:5 | { ... } | | main.rs:2396:12:2396:12 | T | -| main.rs:2397:9:2397:9 | x | | main.rs:2396:12:2396:12 | T | -| main.rs:2400:16:2422:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2401:13:2401:14 | x1 | | {EXTERNAL LOCATION} | Option | -| main.rs:2401:13:2401:14 | x1 | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2401:13:2401:14 | x1 | T.T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2401:34:2401:48 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2401:34:2401:48 | ...::assoc_fun(...) | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2402:13:2402:14 | x2 | | {EXTERNAL LOCATION} | Option | -| main.rs:2402:13:2402:14 | x2 | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2402:13:2402:14 | x2 | T.T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2402:18:2402:38 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2402:18:2402:38 | ...::assoc_fun(...) | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2402:18:2402:38 | ...::assoc_fun(...) | T.T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2403:13:2403:14 | x3 | | {EXTERNAL LOCATION} | Option | -| main.rs:2403:13:2403:14 | x3 | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2403:13:2403:14 | x3 | T.T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2403:18:2403:32 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2403:18:2403:32 | ...::assoc_fun(...) | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2403:18:2403:32 | ...::assoc_fun(...) | T.T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2404:13:2404:14 | x4 | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2404:13:2404:14 | x4 | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2404:18:2404:48 | ...::method(...) | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2404:18:2404:48 | ...::method(...) | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2404:35:2404:47 | ...::default(...) | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2405:13:2405:14 | x5 | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2405:13:2405:14 | x5 | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2405:18:2405:42 | ...::method(...) | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2405:18:2405:42 | ...::method(...) | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2405:29:2405:41 | ...::default(...) | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2409:21:2409:33 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | -| main.rs:2410:13:2410:15 | x10 | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2410:13:2410:15 | x10 | T5 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2410:19:2413:9 | S5::<...> {...} | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2410:19:2413:9 | S5::<...> {...} | T5 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2414:13:2414:15 | x11 | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2414:19:2414:34 | S5 {...} | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2415:13:2415:15 | x12 | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2415:19:2415:33 | S5 {...} | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2416:13:2416:15 | x13 | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2416:19:2419:9 | S5 {...} | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2418:20:2418:32 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | -| main.rs:2420:13:2420:15 | x14 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2420:19:2420:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:2421:13:2421:15 | x15 | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2421:13:2421:15 | x15 | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2421:19:2421:37 | ...::default(...) | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2421:19:2421:37 | ...::default(...) | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2430:35:2432:9 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2430:35:2432:9 | { ... } | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2430:35:2432:9 | { ... } | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2431:13:2431:26 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2431:14:2431:18 | S1 {...} | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2431:21:2431:25 | S1 {...} | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2433:16:2433:19 | SelfParam | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2433:22:2433:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2436:16:2470:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2437:13:2437:13 | a | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2437:13:2437:13 | a | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2437:13:2437:13 | a | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2437:17:2437:30 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2437:17:2437:30 | ...::get_pair(...) | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2437:17:2437:30 | ...::get_pair(...) | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2438:17:2438:17 | b | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2438:17:2438:17 | b | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2438:17:2438:17 | b | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2438:21:2438:34 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2438:21:2438:34 | ...::get_pair(...) | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2438:21:2438:34 | ...::get_pair(...) | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2439:13:2439:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2439:22:2439:35 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2439:22:2439:35 | ...::get_pair(...) | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2439:22:2439:35 | ...::get_pair(...) | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2440:13:2440:22 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2440:26:2440:39 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2440:26:2440:39 | ...::get_pair(...) | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2440:26:2440:39 | ...::get_pair(...) | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2441:13:2441:26 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2441:30:2441:43 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2441:30:2441:43 | ...::get_pair(...) | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2441:30:2441:43 | ...::get_pair(...) | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2443:9:2443:9 | a | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2443:9:2443:9 | a | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2443:9:2443:9 | a | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2444:9:2444:9 | b | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2444:9:2444:9 | b | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2444:9:2444:9 | b | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2457:13:2457:16 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2457:20:2457:25 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2458:13:2458:13 | i | | {EXTERNAL LOCATION} | i64 | -| main.rs:2458:22:2458:25 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2459:13:2459:13 | j | | {EXTERNAL LOCATION} | bool | -| main.rs:2459:23:2459:26 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2461:20:2461:25 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2463:13:2463:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2463:30:2463:41 | "unexpected" | | {EXTERNAL LOCATION} | & | -| main.rs:2463:30:2463:41 | "unexpected" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2463:30:2463:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2463:30:2463:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2464:25:2464:34 | "expected" | | {EXTERNAL LOCATION} | & | -| main.rs:2464:25:2464:34 | "expected" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2464:25:2464:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2464:25:2464:34 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2468:13:2468:13 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2468:17:2468:31 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2468:18:2468:31 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2468:18:2468:31 | ...::get_pair(...) | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2468:18:2468:31 | ...::get_pair(...) | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2469:9:2469:9 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2475:27:2497:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2476:13:2476:23 | boxed_value | | {EXTERNAL LOCATION} | Box | -| main.rs:2476:13:2476:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | -| main.rs:2476:27:2476:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2476:27:2476:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2476:36:2476:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2479:15:2479:25 | boxed_value | | {EXTERNAL LOCATION} | Box | -| main.rs:2479:15:2479:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | -| main.rs:2480:24:2482:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2481:26:2481:36 | "Boxed 100\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2481:26:2481:36 | "Boxed 100\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2481:26:2481:36 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2481:26:2481:36 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2483:22:2486:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2485:26:2485:42 | "Boxed value: {}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2485:26:2485:42 | "Boxed value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2485:26:2485:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2485:26:2485:51 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2490:13:2490:22 | nested_box | | {EXTERNAL LOCATION} | Box | -| main.rs:2490:13:2490:22 | nested_box | A | {EXTERNAL LOCATION} | Global | -| main.rs:2490:26:2490:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2490:26:2490:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2490:35:2490:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2490:35:2490:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2490:44:2490:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2491:15:2491:24 | nested_box | | {EXTERNAL LOCATION} | Box | -| main.rs:2491:15:2491:24 | nested_box | A | {EXTERNAL LOCATION} | Global | -| main.rs:2492:26:2495:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2494:26:2494:43 | "Nested boxed: {}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2494:26:2494:43 | "Nested boxed: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2494:26:2494:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2494:26:2494:59 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2506:36:2508:9 | { ... } | | main.rs:2503:5:2503:22 | Path | -| main.rs:2507:13:2507:19 | Path {...} | | main.rs:2503:5:2503:22 | Path | -| main.rs:2510:29:2510:33 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2510:29:2510:33 | SelfParam | TRef | main.rs:2503:5:2503:22 | Path | -| main.rs:2510:59:2512:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:2510:59:2512:9 | { ... } | E | {EXTERNAL LOCATION} | () | -| main.rs:2510:59:2512:9 | { ... } | T | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2511:16:2511:29 | ...::new(...) | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2518:39:2520:9 | { ... } | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2519:13:2519:22 | PathBuf {...} | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2528:18:2528:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2528:18:2528:22 | SelfParam | TRef | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2528:34:2532:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2528:34:2532:9 | { ... } | TRef | main.rs:2503:5:2503:22 | Path | -| main.rs:2530:33:2530:43 | ...::new(...) | | main.rs:2503:5:2503:22 | Path | -| main.rs:2531:13:2531:17 | &path | | {EXTERNAL LOCATION} | & | -| main.rs:2535:16:2543:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2536:13:2536:17 | path1 | | main.rs:2503:5:2503:22 | Path | -| main.rs:2536:21:2536:31 | ...::new(...) | | main.rs:2503:5:2503:22 | Path | -| main.rs:2537:21:2537:25 | path1 | | main.rs:2503:5:2503:22 | Path | -| main.rs:2540:13:2540:20 | pathbuf1 | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2540:24:2540:37 | ...::new(...) | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2541:24:2541:31 | pathbuf1 | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2548:14:2548:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2548:14:2548:18 | SelfParam | TRef | main.rs:2547:5:2549:5 | Self [trait MyTrait] | -| main.rs:2555:14:2555:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2555:14:2555:18 | SelfParam | TRef | main.rs:2551:5:2552:19 | S | -| main.rs:2555:14:2555:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2555:28:2557:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2556:13:2556:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2556:13:2556:16 | self | TRef | main.rs:2551:5:2552:19 | S | -| main.rs:2556:13:2556:16 | self | TRef.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2561:14:2561:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2561:14:2561:18 | SelfParam | TRef | main.rs:2551:5:2552:19 | S | -| main.rs:2561:14:2561:18 | SelfParam | TRef.T | main.rs:2551:5:2552:19 | S | -| main.rs:2561:14:2561:18 | SelfParam | TRef.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2561:28:2563:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2562:13:2562:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2562:13:2562:16 | self | TRef | main.rs:2551:5:2552:19 | S | -| main.rs:2562:13:2562:16 | self | TRef.T | main.rs:2551:5:2552:19 | S | -| main.rs:2562:13:2562:16 | self | TRef.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2567:15:2567:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2567:15:2567:19 | SelfParam | TRef | main.rs:2551:5:2552:19 | S | -| main.rs:2567:15:2567:19 | SelfParam | TRef.T | main.rs:2566:10:2566:16 | T | -| main.rs:2567:33:2569:9 | { ... } | | main.rs:2551:5:2552:19 | S | -| main.rs:2567:33:2569:9 | { ... } | T | main.rs:2551:5:2552:19 | S | -| main.rs:2567:33:2569:9 | { ... } | T.T | main.rs:2566:10:2566:16 | T | -| main.rs:2568:17:2568:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2568:17:2568:20 | self | TRef | main.rs:2551:5:2552:19 | S | -| main.rs:2568:17:2568:20 | self | TRef.T | main.rs:2566:10:2566:16 | T | -| main.rs:2572:14:2572:14 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2572:48:2589:5 | { ... } | | {EXTERNAL LOCATION} | Box | -| main.rs:2572:48:2589:5 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2572:48:2589:5 | { ... } | T | main.rs:2547:5:2549:5 | dyn MyTrait | -| main.rs:2572:48:2589:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2573:20:2573:20 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2583:12:2583:12 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2585:13:2585:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2585:13:2585:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2587:13:2587:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2587:13:2587:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2593:22:2597:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2594:18:2594:18 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2594:33:2596:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2595:13:2595:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2602:11:2602:14 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2602:30:2610:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2605:13:2607:13 | if cond {...} | | {EXTERNAL LOCATION} | () | -| main.rs:2605:16:2605:19 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2605:21:2607:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2613:20:2620:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2618:18:2618:26 | "b: {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2618:18:2618:26 | "b: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2618:18:2618:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2618:18:2618:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2622:20:2624:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2627:11:2627:14 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2627:30:2635:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2628:13:2628:13 | a | | {EXTERNAL LOCATION} | () | -| main.rs:2628:17:2632:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2629:13:2631:13 | if cond {...} | | {EXTERNAL LOCATION} | () | -| main.rs:2629:16:2629:19 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2629:21:2631:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2633:18:2633:26 | "a: {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2633:18:2633:26 | "a: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2633:18:2633:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2633:18:2633:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2633:29:2633:29 | a | | {EXTERNAL LOCATION} | () | -| main.rs:2643:14:2643:17 | SelfParam | | main.rs:2639:5:2640:13 | S | -| main.rs:2643:20:2643:21 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2646:41:2648:5 | { ... } | | main.rs:2646:22:2646:31 | T | -| main.rs:2650:16:2703:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2652:13:2652:13 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:2652:13:2652:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2656:26:2656:28 | opt | | {EXTERNAL LOCATION} | Option | -| main.rs:2656:26:2656:28 | opt | T | main.rs:2656:23:2656:23 | T | -| main.rs:2656:42:2656:42 | x | | main.rs:2656:23:2656:23 | T | -| main.rs:2656:48:2656:49 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2659:9:2659:24 | pin_option(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2666:13:2666:13 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2666:17:2666:39 | ...::A {...} | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2667:13:2667:13 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2667:13:2667:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2667:13:2667:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2667:40:2667:40 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2668:13:2668:13 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2668:13:2668:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2668:17:2668:52 | ...::A {...} | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2668:17:2668:52 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2670:13:2670:13 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2670:13:2670:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2670:17:2672:9 | ...::B::<...> {...} | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2670:17:2672:9 | ...::B::<...> {...} | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2671:20:2671:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2674:29:2674:29 | e | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2674:29:2674:29 | e | T1 | main.rs:2674:26:2674:26 | T | -| main.rs:2674:29:2674:29 | e | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2674:53:2674:53 | x | | main.rs:2674:26:2674:26 | T | -| main.rs:2674:59:2674:60 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2677:13:2677:13 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2677:17:2679:9 | ...::B {...} | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2678:20:2678:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2680:9:2680:27 | pin_my_either(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2680:23:2680:23 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2683:13:2683:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:2683:13:2683:13 | x | E | {EXTERNAL LOCATION} | String | -| main.rs:2683:13:2683:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2687:29:2687:31 | res | | {EXTERNAL LOCATION} | Result | -| main.rs:2687:29:2687:31 | res | E | main.rs:2687:26:2687:26 | E | -| main.rs:2687:29:2687:31 | res | T | main.rs:2687:23:2687:23 | T | -| main.rs:2687:48:2687:48 | x | | main.rs:2687:26:2687:26 | E | -| main.rs:2687:54:2687:55 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2690:9:2690:28 | pin_result(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2690:23:2690:27 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:2692:17:2692:17 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:2692:17:2692:17 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:2692:21:2692:30 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2692:21:2692:30 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2693:9:2693:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:2693:9:2693:9 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:2696:9:2696:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:2696:9:2696:9 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:2699:9:2699:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2702:9:2702:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:2702:9:2702:9 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:2709:14:2709:17 | SelfParam | | main.rs:2707:5:2715:5 | Self [trait MyTrait] | -| main.rs:2712:14:2712:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2712:14:2712:18 | SelfParam | TRef | main.rs:2707:5:2715:5 | Self [trait MyTrait] | -| main.rs:2712:21:2712:25 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2712:21:2712:25 | other | TRef | main.rs:2707:5:2715:5 | Self [trait MyTrait] | -| main.rs:2712:44:2714:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2712:44:2714:9 | { ... } | TRef | main.rs:2707:5:2715:5 | Self [trait MyTrait] | -| main.rs:2713:13:2713:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2713:13:2713:16 | self | TRef | main.rs:2707:5:2715:5 | Self [trait MyTrait] | -| main.rs:2719:14:2719:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | -| main.rs:2719:28:2721:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2720:13:2720:16 | self | | {EXTERNAL LOCATION} | i32 | -| main.rs:2726:14:2726:17 | SelfParam | | {EXTERNAL LOCATION} | usize | -| main.rs:2726:28:2728:9 | { ... } | | {EXTERNAL LOCATION} | usize | -| main.rs:2727:13:2727:16 | self | | {EXTERNAL LOCATION} | usize | -| main.rs:2733:14:2733:17 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2733:14:2733:17 | SelfParam | TRef | main.rs:2731:10:2731:10 | T | -| main.rs:2733:28:2735:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2733:28:2735:9 | { ... } | TRef | main.rs:2731:10:2731:10 | T | -| main.rs:2734:13:2734:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2734:13:2734:16 | self | TRef | main.rs:2731:10:2731:10 | T | -| main.rs:2738:25:2742:5 | { ... } | | {EXTERNAL LOCATION} | usize | -| main.rs:2744:12:2752:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2745:13:2745:13 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:2746:13:2746:13 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2746:17:2746:18 | &1 | | {EXTERNAL LOCATION} | & | -| main.rs:2747:17:2747:17 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:2747:21:2747:21 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2750:13:2750:13 | y | | {EXTERNAL LOCATION} | usize | -| main.rs:2751:23:2751:23 | y | | {EXTERNAL LOCATION} | usize | -| main.rs:2766:22:2766:26 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2766:22:2766:26 | SelfParam | TRef | main.rs:2765:5:2767:5 | Self [trait Container] | -| main.rs:2769:34:2769:34 | c | | {EXTERNAL LOCATION} | & | -| main.rs:2769:34:2769:34 | c | TRef | main.rs:2769:15:2769:31 | T | -| main.rs:2769:49:2771:5 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2770:9:2770:9 | c | | {EXTERNAL LOCATION} | & | -| main.rs:2770:9:2770:9 | c | TRef | main.rs:2769:15:2769:31 | T | -| main.rs:2774:22:2774:26 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2774:22:2774:26 | SelfParam | TRef | main.rs:2763:5:2763:21 | Gen | -| main.rs:2774:22:2774:26 | SelfParam | TRef.T | main.rs:2773:10:2773:17 | GT | -| main.rs:2774:35:2776:9 | { ... } | | main.rs:2773:10:2773:17 | GT | -| main.rs:2775:13:2775:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2775:13:2775:16 | self | TRef | main.rs:2763:5:2763:21 | Gen | -| main.rs:2775:13:2775:16 | self | TRef.T | main.rs:2773:10:2773:17 | GT | -| main.rs:2779:15:2783:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2782:17:2782:26 | my_get(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2782:24:2782:25 | &g | | {EXTERNAL LOCATION} | & | -| main.rs:2786:11:2821:1 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2787:5:2787:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2788:5:2788:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:2789:5:2789:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:2789:20:2789:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:2789:41:2789:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:2790:5:2790:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2791:5:2791:41 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2792:5:2792:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2793:5:2793:30 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2794:5:2794:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2795:5:2795:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2796:5:2796:32 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2797:5:2797:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2798:5:2798:36 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2799:5:2799:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2800:5:2800:29 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2801:5:2801:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2802:5:2802:24 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2803:5:2803:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2804:5:2804:18 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2805:5:2805:15 | ...::f(...) | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2805:5:2805:15 | ...::f(...) | dyn(Output) | {EXTERNAL LOCATION} | () | -| main.rs:2806:5:2806:19 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2807:5:2807:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2808:5:2808:14 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2809:5:2809:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2810:5:2810:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2811:5:2811:43 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2812:5:2812:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2813:5:2813:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2814:5:2814:28 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2815:5:2815:23 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2816:5:2816:41 | ...::test_all_patterns(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2817:5:2817:49 | ...::box_patterns(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2818:5:2818:20 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2819:5:2819:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2819:5:2819:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2819:5:2819:20 | ...::f(...) | T | main.rs:2547:5:2549:5 | dyn MyTrait | -| main.rs:2819:5:2819:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2819:16:2819:19 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2820:5:2820:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2325:9:2325:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2325:18:2325:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2325:19:2325:21 | 0u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2325:19:2325:25 | 0u8..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2325:28:2325:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2326:13:2326:17 | range | | {EXTERNAL LOCATION} | Range | +| main.rs:2326:21:2326:25 | 0..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2327:9:2327:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2327:18:2327:22 | range | | {EXTERNAL LOCATION} | Range | +| main.rs:2327:24:2327:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2328:13:2328:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2328:26:2328:27 | .. | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2329:9:2329:51 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2329:18:2329:48 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2329:19:2329:36 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2329:20:2329:23 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2329:26:2329:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2329:32:2329:35 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2329:38:2329:47 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2329:50:2329:51 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2331:13:2331:18 | range1 | | {EXTERNAL LOCATION} | Range | +| main.rs:2332:9:2335:9 | ...::Range {...} | | {EXTERNAL LOCATION} | Range | +| main.rs:2333:20:2333:23 | 0u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2334:18:2334:22 | 10u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2336:9:2336:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2336:18:2336:23 | range1 | | {EXTERNAL LOCATION} | Range | +| main.rs:2336:25:2336:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2341:9:2341:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2341:24:2341:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2343:13:2343:18 | vals4a | | {EXTERNAL LOCATION} | Vec | +| main.rs:2343:13:2343:18 | vals4a | A | {EXTERNAL LOCATION} | Global | +| main.rs:2343:13:2343:18 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2343:32:2343:43 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2343:33:2343:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2344:9:2344:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2344:18:2344:23 | vals4a | | {EXTERNAL LOCATION} | Vec | +| main.rs:2344:18:2344:23 | vals4a | A | {EXTERNAL LOCATION} | Global | +| main.rs:2344:18:2344:23 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2344:25:2344:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2346:22:2346:33 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2346:23:2346:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2347:9:2347:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2347:25:2347:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2349:13:2349:17 | vals5 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2349:21:2349:43 | ...::from(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2349:31:2349:42 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2349:32:2349:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2350:9:2350:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2350:18:2350:22 | vals5 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2350:24:2350:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2352:13:2352:17 | vals6 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2352:13:2352:17 | vals6 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2352:13:2352:17 | vals6 | T | {EXTERNAL LOCATION} | & | +| main.rs:2352:13:2352:17 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2352:32:2352:43 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2352:33:2352:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | +| main.rs:2353:9:2353:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2353:18:2353:22 | vals6 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2353:18:2353:22 | vals6 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2353:18:2353:22 | vals6 | T | {EXTERNAL LOCATION} | & | +| main.rs:2353:18:2353:22 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2353:24:2353:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2355:17:2355:21 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2355:17:2355:21 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2355:25:2355:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2355:25:2355:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2356:9:2356:13 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2356:9:2356:13 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2356:20:2356:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2357:9:2357:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2357:18:2357:22 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2357:18:2357:22 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2357:24:2357:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2361:17:2364:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2362:13:2363:13 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2362:29:2363:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2366:17:2366:20 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2366:17:2366:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2366:24:2366:55 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2366:24:2366:55 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2367:9:2367:12 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2367:9:2367:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2367:24:2367:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2367:24:2367:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2367:33:2367:37 | "one" | | {EXTERNAL LOCATION} | & | +| main.rs:2367:33:2367:37 | "one" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2368:9:2368:12 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2368:9:2368:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2368:24:2368:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2368:24:2368:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2368:33:2368:37 | "two" | | {EXTERNAL LOCATION} | & | +| main.rs:2368:33:2368:37 | "two" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2369:9:2369:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2369:20:2369:23 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2369:20:2369:23 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2369:32:2369:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2370:9:2370:37 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2370:22:2370:25 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2370:22:2370:25 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2370:36:2370:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2371:9:2371:42 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2371:13:2371:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2371:29:2371:32 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2371:29:2371:32 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2371:41:2371:42 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2372:9:2372:36 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2372:13:2372:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2372:29:2372:33 | &map1 | | {EXTERNAL LOCATION} | & | +| main.rs:2372:30:2372:33 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2372:30:2372:33 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2372:35:2372:36 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2376:17:2376:17 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2378:17:2381:9 | while ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2378:23:2378:23 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2379:9:2381:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2380:13:2380:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2392:40:2394:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:2392:40:2394:9 | { ... } | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2392:40:2394:9 | { ... } | T.T | main.rs:2391:10:2391:19 | T | +| main.rs:2396:30:2398:9 | { ... } | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2396:30:2398:9 | { ... } | T | main.rs:2391:10:2391:19 | T | +| main.rs:2400:19:2400:22 | SelfParam | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2400:19:2400:22 | SelfParam | T | main.rs:2391:10:2391:19 | T | +| main.rs:2400:33:2402:9 | { ... } | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2400:33:2402:9 | { ... } | T | main.rs:2391:10:2391:19 | T | +| main.rs:2401:13:2401:16 | self | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2401:13:2401:16 | self | T | main.rs:2391:10:2391:19 | T | +| main.rs:2413:15:2413:15 | x | | main.rs:2413:12:2413:12 | T | +| main.rs:2413:26:2415:5 | { ... } | | main.rs:2413:12:2413:12 | T | +| main.rs:2414:9:2414:9 | x | | main.rs:2413:12:2413:12 | T | +| main.rs:2417:16:2439:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2418:13:2418:14 | x1 | | {EXTERNAL LOCATION} | Option | +| main.rs:2418:13:2418:14 | x1 | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2418:13:2418:14 | x1 | T.T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2418:34:2418:48 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2418:34:2418:48 | ...::assoc_fun(...) | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2419:13:2419:14 | x2 | | {EXTERNAL LOCATION} | Option | +| main.rs:2419:13:2419:14 | x2 | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2419:13:2419:14 | x2 | T.T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2419:18:2419:38 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2419:18:2419:38 | ...::assoc_fun(...) | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2419:18:2419:38 | ...::assoc_fun(...) | T.T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2420:13:2420:14 | x3 | | {EXTERNAL LOCATION} | Option | +| main.rs:2420:13:2420:14 | x3 | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2420:13:2420:14 | x3 | T.T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2420:18:2420:32 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2420:18:2420:32 | ...::assoc_fun(...) | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2420:18:2420:32 | ...::assoc_fun(...) | T.T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2421:13:2421:14 | x4 | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2421:13:2421:14 | x4 | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2421:18:2421:48 | ...::method(...) | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2421:18:2421:48 | ...::method(...) | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2421:35:2421:47 | ...::default(...) | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2422:13:2422:14 | x5 | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2422:13:2422:14 | x5 | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2422:18:2422:42 | ...::method(...) | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2422:18:2422:42 | ...::method(...) | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2422:29:2422:41 | ...::default(...) | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2426:21:2426:33 | ...::default(...) | | main.rs:2388:5:2389:14 | S2 | +| main.rs:2427:13:2427:15 | x10 | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2427:13:2427:15 | x10 | T5 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2427:19:2430:9 | S5::<...> {...} | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2427:19:2430:9 | S5::<...> {...} | T5 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2431:13:2431:15 | x11 | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2431:19:2431:34 | S5 {...} | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2432:13:2432:15 | x12 | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2432:19:2432:33 | S5 {...} | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2433:13:2433:15 | x13 | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2433:19:2436:9 | S5 {...} | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2435:20:2435:32 | ...::default(...) | | main.rs:2388:5:2389:14 | S2 | +| main.rs:2437:13:2437:15 | x14 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2437:19:2437:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2438:13:2438:15 | x15 | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2438:13:2438:15 | x15 | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2438:19:2438:37 | ...::default(...) | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2438:19:2438:37 | ...::default(...) | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2447:35:2449:9 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2447:35:2449:9 | { ... } | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2447:35:2449:9 | { ... } | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2448:13:2448:26 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2448:14:2448:18 | S1 {...} | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2448:21:2448:25 | S1 {...} | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2450:16:2450:19 | SelfParam | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2450:22:2450:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2453:16:2487:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2454:13:2454:13 | a | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2454:13:2454:13 | a | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2454:13:2454:13 | a | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2454:17:2454:30 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2454:17:2454:30 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2454:17:2454:30 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2455:17:2455:17 | b | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2455:17:2455:17 | b | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2455:17:2455:17 | b | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2455:21:2455:34 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2455:21:2455:34 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2455:21:2455:34 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2456:13:2456:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2456:22:2456:35 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2456:22:2456:35 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2456:22:2456:35 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2457:13:2457:22 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2457:26:2457:39 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2457:26:2457:39 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2457:26:2457:39 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2458:13:2458:26 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2458:30:2458:43 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2458:30:2458:43 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2458:30:2458:43 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2460:9:2460:9 | a | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2460:9:2460:9 | a | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2460:9:2460:9 | a | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2461:9:2461:9 | b | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2461:9:2461:9 | b | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2461:9:2461:9 | b | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2474:13:2474:16 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2474:20:2474:25 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2475:13:2475:13 | i | | {EXTERNAL LOCATION} | i64 | +| main.rs:2475:22:2475:25 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2476:13:2476:13 | j | | {EXTERNAL LOCATION} | bool | +| main.rs:2476:23:2476:26 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2478:20:2478:25 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2480:13:2480:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2480:30:2480:41 | "unexpected" | | {EXTERNAL LOCATION} | & | +| main.rs:2480:30:2480:41 | "unexpected" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2480:30:2480:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2480:30:2480:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2481:25:2481:34 | "expected" | | {EXTERNAL LOCATION} | & | +| main.rs:2481:25:2481:34 | "expected" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2481:25:2481:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2481:25:2481:34 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2485:13:2485:13 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2485:17:2485:31 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2485:18:2485:31 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2485:18:2485:31 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2485:18:2485:31 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2486:9:2486:9 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2492:27:2514:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2493:13:2493:23 | boxed_value | | {EXTERNAL LOCATION} | Box | +| main.rs:2493:13:2493:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | +| main.rs:2493:27:2493:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2493:27:2493:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2493:36:2493:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2496:15:2496:25 | boxed_value | | {EXTERNAL LOCATION} | Box | +| main.rs:2496:15:2496:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | +| main.rs:2497:24:2499:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2498:26:2498:36 | "Boxed 100\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2498:26:2498:36 | "Boxed 100\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2498:26:2498:36 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2498:26:2498:36 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2500:22:2503:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2502:26:2502:42 | "Boxed value: {}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2502:26:2502:42 | "Boxed value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2502:26:2502:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2502:26:2502:51 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2507:13:2507:22 | nested_box | | {EXTERNAL LOCATION} | Box | +| main.rs:2507:13:2507:22 | nested_box | A | {EXTERNAL LOCATION} | Global | +| main.rs:2507:26:2507:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2507:26:2507:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2507:35:2507:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2507:35:2507:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2507:44:2507:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2508:15:2508:24 | nested_box | | {EXTERNAL LOCATION} | Box | +| main.rs:2508:15:2508:24 | nested_box | A | {EXTERNAL LOCATION} | Global | +| main.rs:2509:26:2512:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2511:26:2511:43 | "Nested boxed: {}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2511:26:2511:43 | "Nested boxed: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2511:26:2511:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2511:26:2511:59 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2523:36:2525:9 | { ... } | | main.rs:2520:5:2520:22 | Path | +| main.rs:2524:13:2524:19 | Path {...} | | main.rs:2520:5:2520:22 | Path | +| main.rs:2527:29:2527:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2527:29:2527:33 | SelfParam | TRef | main.rs:2520:5:2520:22 | Path | +| main.rs:2527:59:2529:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:2527:59:2529:9 | { ... } | E | {EXTERNAL LOCATION} | () | +| main.rs:2527:59:2529:9 | { ... } | T | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2528:16:2528:29 | ...::new(...) | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2535:39:2537:9 | { ... } | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2536:13:2536:22 | PathBuf {...} | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2545:18:2545:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2545:18:2545:22 | SelfParam | TRef | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2545:34:2549:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2545:34:2549:9 | { ... } | TRef | main.rs:2520:5:2520:22 | Path | +| main.rs:2547:33:2547:43 | ...::new(...) | | main.rs:2520:5:2520:22 | Path | +| main.rs:2548:13:2548:17 | &path | | {EXTERNAL LOCATION} | & | +| main.rs:2552:16:2560:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2553:13:2553:17 | path1 | | main.rs:2520:5:2520:22 | Path | +| main.rs:2553:21:2553:31 | ...::new(...) | | main.rs:2520:5:2520:22 | Path | +| main.rs:2554:21:2554:25 | path1 | | main.rs:2520:5:2520:22 | Path | +| main.rs:2557:13:2557:20 | pathbuf1 | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2557:24:2557:37 | ...::new(...) | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2558:24:2558:31 | pathbuf1 | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2565:14:2565:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2565:14:2565:18 | SelfParam | TRef | main.rs:2564:5:2566:5 | Self [trait MyTrait] | +| main.rs:2572:14:2572:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2572:14:2572:18 | SelfParam | TRef | main.rs:2568:5:2569:19 | S | +| main.rs:2572:14:2572:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2572:28:2574:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2573:13:2573:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2573:13:2573:16 | self | TRef | main.rs:2568:5:2569:19 | S | +| main.rs:2573:13:2573:16 | self | TRef.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2578:14:2578:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2578:14:2578:18 | SelfParam | TRef | main.rs:2568:5:2569:19 | S | +| main.rs:2578:14:2578:18 | SelfParam | TRef.T | main.rs:2568:5:2569:19 | S | +| main.rs:2578:14:2578:18 | SelfParam | TRef.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2578:28:2580:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2579:13:2579:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2579:13:2579:16 | self | TRef | main.rs:2568:5:2569:19 | S | +| main.rs:2579:13:2579:16 | self | TRef.T | main.rs:2568:5:2569:19 | S | +| main.rs:2579:13:2579:16 | self | TRef.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2584:15:2584:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2584:15:2584:19 | SelfParam | TRef | main.rs:2568:5:2569:19 | S | +| main.rs:2584:15:2584:19 | SelfParam | TRef.T | main.rs:2583:10:2583:16 | T | +| main.rs:2584:33:2586:9 | { ... } | | main.rs:2568:5:2569:19 | S | +| main.rs:2584:33:2586:9 | { ... } | T | main.rs:2568:5:2569:19 | S | +| main.rs:2584:33:2586:9 | { ... } | T.T | main.rs:2583:10:2583:16 | T | +| main.rs:2585:17:2585:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2585:17:2585:20 | self | TRef | main.rs:2568:5:2569:19 | S | +| main.rs:2585:17:2585:20 | self | TRef.T | main.rs:2583:10:2583:16 | T | +| main.rs:2589:14:2589:14 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2589:48:2606:5 | { ... } | | {EXTERNAL LOCATION} | Box | +| main.rs:2589:48:2606:5 | { ... } | A | {EXTERNAL LOCATION} | Global | +| main.rs:2589:48:2606:5 | { ... } | T | main.rs:2564:5:2566:5 | dyn MyTrait | +| main.rs:2589:48:2606:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2590:20:2590:20 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2600:12:2600:12 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2602:13:2602:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2602:13:2602:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2604:13:2604:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2604:13:2604:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2610:22:2614:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2611:18:2611:18 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2611:33:2613:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2612:13:2612:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2619:11:2619:14 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2619:30:2627:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2622:13:2624:13 | if cond {...} | | {EXTERNAL LOCATION} | () | +| main.rs:2622:16:2622:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2622:21:2624:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2630:20:2637:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2635:18:2635:26 | "b: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2635:18:2635:26 | "b: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2635:18:2635:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2635:18:2635:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2639:20:2641:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2644:11:2644:14 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2644:30:2652:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2645:13:2645:13 | a | | {EXTERNAL LOCATION} | () | +| main.rs:2645:17:2649:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2646:13:2648:13 | if cond {...} | | {EXTERNAL LOCATION} | () | +| main.rs:2646:16:2646:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2646:21:2648:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2650:18:2650:26 | "a: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2650:18:2650:26 | "a: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2650:18:2650:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2650:18:2650:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2650:29:2650:29 | a | | {EXTERNAL LOCATION} | () | +| main.rs:2660:14:2660:17 | SelfParam | | main.rs:2656:5:2657:13 | S | +| main.rs:2660:20:2660:21 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2663:41:2665:5 | { ... } | | main.rs:2663:22:2663:31 | T | +| main.rs:2667:16:2720:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2669:13:2669:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2669:13:2669:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2673:26:2673:28 | opt | | {EXTERNAL LOCATION} | Option | +| main.rs:2673:26:2673:28 | opt | T | main.rs:2673:23:2673:23 | T | +| main.rs:2673:42:2673:42 | x | | main.rs:2673:23:2673:23 | T | +| main.rs:2673:48:2673:49 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2676:9:2676:24 | pin_option(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2683:13:2683:13 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2683:17:2683:39 | ...::A {...} | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2684:13:2684:13 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2684:13:2684:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2684:13:2684:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2684:40:2684:40 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2685:13:2685:13 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2685:13:2685:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2685:17:2685:52 | ...::A {...} | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2685:17:2685:52 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2687:13:2687:13 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2687:13:2687:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2687:17:2689:9 | ...::B::<...> {...} | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2687:17:2689:9 | ...::B::<...> {...} | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2688:20:2688:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2691:29:2691:29 | e | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2691:29:2691:29 | e | T1 | main.rs:2691:26:2691:26 | T | +| main.rs:2691:29:2691:29 | e | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2691:53:2691:53 | x | | main.rs:2691:26:2691:26 | T | +| main.rs:2691:59:2691:60 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2694:13:2694:13 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2694:17:2696:9 | ...::B {...} | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2695:20:2695:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2697:9:2697:27 | pin_my_either(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2697:23:2697:23 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2700:13:2700:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2700:13:2700:13 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:2700:13:2700:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2704:29:2704:31 | res | | {EXTERNAL LOCATION} | Result | +| main.rs:2704:29:2704:31 | res | E | main.rs:2704:26:2704:26 | E | +| main.rs:2704:29:2704:31 | res | T | main.rs:2704:23:2704:23 | T | +| main.rs:2704:48:2704:48 | x | | main.rs:2704:26:2704:26 | E | +| main.rs:2704:54:2704:55 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2707:9:2707:28 | pin_result(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2707:23:2707:27 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:2709:17:2709:17 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2709:17:2709:17 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2709:21:2709:30 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2709:21:2709:30 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2710:9:2710:9 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2710:9:2710:9 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2713:9:2713:9 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2713:9:2713:9 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2716:9:2716:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2719:9:2719:9 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2719:9:2719:9 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2726:14:2726:17 | SelfParam | | main.rs:2724:5:2732:5 | Self [trait MyTrait] | +| main.rs:2729:14:2729:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2729:14:2729:18 | SelfParam | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | +| main.rs:2729:21:2729:25 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2729:21:2729:25 | other | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | +| main.rs:2729:44:2731:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2729:44:2731:9 | { ... } | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | +| main.rs:2730:13:2730:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2730:13:2730:16 | self | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | +| main.rs:2736:14:2736:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | +| main.rs:2736:28:2738:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2737:13:2737:16 | self | | {EXTERNAL LOCATION} | i32 | +| main.rs:2743:14:2743:17 | SelfParam | | {EXTERNAL LOCATION} | usize | +| main.rs:2743:28:2745:9 | { ... } | | {EXTERNAL LOCATION} | usize | +| main.rs:2744:13:2744:16 | self | | {EXTERNAL LOCATION} | usize | +| main.rs:2750:14:2750:17 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2750:14:2750:17 | SelfParam | TRef | main.rs:2748:10:2748:10 | T | +| main.rs:2750:28:2752:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2750:28:2752:9 | { ... } | TRef | main.rs:2748:10:2748:10 | T | +| main.rs:2751:13:2751:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2751:13:2751:16 | self | TRef | main.rs:2748:10:2748:10 | T | +| main.rs:2755:25:2759:5 | { ... } | | {EXTERNAL LOCATION} | usize | +| main.rs:2761:12:2769:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2762:13:2762:13 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2763:13:2763:13 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2763:17:2763:18 | &1 | | {EXTERNAL LOCATION} | & | +| main.rs:2764:17:2764:17 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2764:21:2764:21 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2767:13:2767:13 | y | | {EXTERNAL LOCATION} | usize | +| main.rs:2768:23:2768:23 | y | | {EXTERNAL LOCATION} | usize | +| main.rs:2783:22:2783:26 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2783:22:2783:26 | SelfParam | TRef | main.rs:2782:5:2784:5 | Self [trait Container] | +| main.rs:2786:34:2786:34 | c | | {EXTERNAL LOCATION} | & | +| main.rs:2786:34:2786:34 | c | TRef | main.rs:2786:15:2786:31 | T | +| main.rs:2786:49:2788:5 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2787:9:2787:9 | c | | {EXTERNAL LOCATION} | & | +| main.rs:2787:9:2787:9 | c | TRef | main.rs:2786:15:2786:31 | T | +| main.rs:2791:22:2791:26 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2791:22:2791:26 | SelfParam | TRef | main.rs:2780:5:2780:21 | Gen | +| main.rs:2791:22:2791:26 | SelfParam | TRef.T | main.rs:2790:10:2790:17 | GT | +| main.rs:2791:35:2793:9 | { ... } | | main.rs:2790:10:2790:17 | GT | +| main.rs:2792:13:2792:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2792:13:2792:16 | self | TRef | main.rs:2780:5:2780:21 | Gen | +| main.rs:2792:13:2792:16 | self | TRef.T | main.rs:2790:10:2790:17 | GT | +| main.rs:2796:15:2800:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2799:17:2799:26 | my_get(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2799:24:2799:25 | &g | | {EXTERNAL LOCATION} | & | +| main.rs:2803:11:2838:1 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2804:5:2804:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2805:5:2805:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2806:5:2806:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2806:20:2806:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2806:41:2806:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2807:5:2807:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2808:5:2808:41 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2809:5:2809:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2810:5:2810:30 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2811:5:2811:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2812:5:2812:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2813:5:2813:32 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2814:5:2814:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2815:5:2815:36 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2816:5:2816:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2817:5:2817:29 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2818:5:2818:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2819:5:2819:24 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2820:5:2820:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2821:5:2821:18 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2822:5:2822:15 | ...::f(...) | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2822:5:2822:15 | ...::f(...) | dyn(Output) | {EXTERNAL LOCATION} | () | +| main.rs:2823:5:2823:19 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2824:5:2824:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2825:5:2825:14 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2826:5:2826:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2827:5:2827:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2828:5:2828:43 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2829:5:2829:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2830:5:2830:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2831:5:2831:28 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2832:5:2832:23 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2833:5:2833:41 | ...::test_all_patterns(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2834:5:2834:49 | ...::box_patterns(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2835:5:2835:20 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2836:5:2836:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2836:5:2836:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2836:5:2836:20 | ...::f(...) | T | main.rs:2564:5:2566:5 | dyn MyTrait | +| main.rs:2836:5:2836:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2836:16:2836:19 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2837:5:2837:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:4:19:4:23 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:4:19:4:23 | SelfParam | TRef | overloading.rs:2:5:11:5 | Self [trait FirstTrait] | | overloading.rs:4:34:6:9 | { ... } | | {EXTERNAL LOCATION} | bool | @@ -7938,5070 +7948,5086 @@ inferType | main.rs:259:15:259:18 | SelfParam | | main.rs:256:5:265:5 | Self [trait MyTrait] | | main.rs:262:9:264:9 | { ... } | | main.rs:256:5:265:5 | Self [trait MyTrait] | | main.rs:263:13:263:16 | self | | main.rs:256:5:265:5 | Self [trait MyTrait] | -| main.rs:269:16:269:19 | SelfParam | | main.rs:267:5:272:5 | Self [trait MyProduct] | -| main.rs:271:16:271:19 | SelfParam | | main.rs:267:5:272:5 | Self [trait MyProduct] | -| main.rs:274:43:274:43 | x | | main.rs:274:26:274:40 | T2 | -| main.rs:274:56:276:5 | { ... } | | main.rs:274:22:274:23 | T1 | -| main.rs:275:9:275:9 | x | | main.rs:274:26:274:40 | T2 | -| main.rs:275:9:275:14 | x.m1() | | main.rs:274:22:274:23 | T1 | -| main.rs:280:15:280:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | -| main.rs:280:15:280:18 | SelfParam | A | main.rs:249:5:250:14 | S1 | -| main.rs:280:27:282:9 | { ... } | | main.rs:249:5:250:14 | S1 | -| main.rs:281:13:281:16 | self | | main.rs:238:5:241:5 | MyThing | -| main.rs:281:13:281:16 | self | A | main.rs:249:5:250:14 | S1 | -| main.rs:281:13:281:18 | self.a | | main.rs:249:5:250:14 | S1 | -| main.rs:287:15:287:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | -| main.rs:287:15:287:18 | SelfParam | A | main.rs:251:5:252:14 | S2 | -| main.rs:287:29:289:9 | { ... } | | main.rs:238:5:241:5 | MyThing | -| main.rs:287:29:289:9 | { ... } | A | main.rs:251:5:252:14 | S2 | -| main.rs:288:13:288:30 | Self {...} | | main.rs:238:5:241:5 | MyThing | -| main.rs:288:13:288:30 | Self {...} | A | main.rs:251:5:252:14 | S2 | -| main.rs:288:23:288:26 | self | | main.rs:238:5:241:5 | MyThing | -| main.rs:288:23:288:26 | self | A | main.rs:251:5:252:14 | S2 | -| main.rs:288:23:288:28 | self.a | | main.rs:251:5:252:14 | S2 | -| main.rs:299:15:299:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | -| main.rs:299:15:299:18 | SelfParam | A | main.rs:253:5:254:14 | S3 | -| main.rs:299:27:301:9 | { ... } | | main.rs:294:10:294:11 | TD | -| main.rs:300:13:300:25 | ...::default(...) | | main.rs:294:10:294:11 | TD | -| main.rs:306:15:306:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:306:15:306:18 | SelfParam | P1 | main.rs:304:10:304:10 | I | -| main.rs:306:15:306:18 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:306:26:308:9 | { ... } | | main.rs:304:10:304:10 | I | -| main.rs:307:13:307:16 | self | | main.rs:243:5:247:5 | MyPair | -| main.rs:307:13:307:16 | self | P1 | main.rs:304:10:304:10 | I | -| main.rs:307:13:307:16 | self | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:307:13:307:19 | self.p1 | | main.rs:304:10:304:10 | I | -| main.rs:313:15:313:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:313:15:313:18 | SelfParam | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:313:15:313:18 | SelfParam | P2 | main.rs:251:5:252:14 | S2 | -| main.rs:313:27:315:9 | { ... } | | main.rs:253:5:254:14 | S3 | -| main.rs:314:13:314:14 | S3 | | main.rs:253:5:254:14 | S3 | -| main.rs:320:15:320:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:320:15:320:18 | SelfParam | P1 | main.rs:238:5:241:5 | MyThing | -| main.rs:320:15:320:18 | SelfParam | P1.A | main.rs:318:10:318:11 | TT | -| main.rs:320:15:320:18 | SelfParam | P2 | main.rs:253:5:254:14 | S3 | -| main.rs:320:27:323:9 | { ... } | | main.rs:318:10:318:11 | TT | -| main.rs:321:17:321:21 | alpha | | main.rs:238:5:241:5 | MyThing | -| main.rs:321:17:321:21 | alpha | A | main.rs:318:10:318:11 | TT | -| main.rs:321:25:321:28 | self | | main.rs:243:5:247:5 | MyPair | -| main.rs:321:25:321:28 | self | P1 | main.rs:238:5:241:5 | MyThing | -| main.rs:321:25:321:28 | self | P1.A | main.rs:318:10:318:11 | TT | -| main.rs:321:25:321:28 | self | P2 | main.rs:253:5:254:14 | S3 | -| main.rs:321:25:321:31 | self.p1 | | main.rs:238:5:241:5 | MyThing | -| main.rs:321:25:321:31 | self.p1 | A | main.rs:318:10:318:11 | TT | -| main.rs:322:13:322:17 | alpha | | main.rs:238:5:241:5 | MyThing | -| main.rs:322:13:322:17 | alpha | A | main.rs:318:10:318:11 | TT | -| main.rs:322:13:322:19 | alpha.a | | main.rs:318:10:318:11 | TT | -| main.rs:329:16:329:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:329:16:329:19 | SelfParam | P1 | main.rs:327:10:327:10 | A | -| main.rs:329:16:329:19 | SelfParam | P2 | main.rs:327:10:327:10 | A | -| main.rs:329:27:331:9 | { ... } | | main.rs:327:10:327:10 | A | -| main.rs:330:13:330:16 | self | | main.rs:243:5:247:5 | MyPair | -| main.rs:330:13:330:16 | self | P1 | main.rs:327:10:327:10 | A | -| main.rs:330:13:330:16 | self | P2 | main.rs:327:10:327:10 | A | -| main.rs:330:13:330:19 | self.p1 | | main.rs:327:10:327:10 | A | -| main.rs:334:16:334:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:334:16:334:19 | SelfParam | P1 | main.rs:327:10:327:10 | A | -| main.rs:334:16:334:19 | SelfParam | P2 | main.rs:327:10:327:10 | A | -| main.rs:334:27:336:9 | { ... } | | main.rs:327:10:327:10 | A | -| main.rs:335:13:335:16 | self | | main.rs:243:5:247:5 | MyPair | -| main.rs:335:13:335:16 | self | P1 | main.rs:327:10:327:10 | A | -| main.rs:335:13:335:16 | self | P2 | main.rs:327:10:327:10 | A | -| main.rs:335:13:335:19 | self.p2 | | main.rs:327:10:327:10 | A | -| main.rs:342:16:342:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:342:16:342:19 | SelfParam | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:342:16:342:19 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:342:28:344:9 | { ... } | | main.rs:249:5:250:14 | S1 | -| main.rs:343:13:343:16 | self | | main.rs:243:5:247:5 | MyPair | -| main.rs:343:13:343:16 | self | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:343:13:343:16 | self | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:343:13:343:19 | self.p2 | | main.rs:249:5:250:14 | S1 | -| main.rs:347:16:347:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | -| main.rs:347:16:347:19 | SelfParam | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:347:16:347:19 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:347:28:349:9 | { ... } | | main.rs:251:5:252:14 | S2 | -| main.rs:348:13:348:16 | self | | main.rs:243:5:247:5 | MyPair | -| main.rs:348:13:348:16 | self | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:348:13:348:16 | self | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:348:13:348:19 | self.p1 | | main.rs:251:5:252:14 | S2 | -| main.rs:352:46:352:46 | p | | main.rs:352:24:352:43 | P | -| main.rs:352:58:354:5 | { ... } | | main.rs:352:16:352:17 | V1 | -| main.rs:353:9:353:9 | p | | main.rs:352:24:352:43 | P | -| main.rs:353:9:353:15 | p.fst() | | main.rs:352:16:352:17 | V1 | -| main.rs:356:46:356:46 | p | | main.rs:356:24:356:43 | P | -| main.rs:356:58:358:5 | { ... } | | main.rs:356:20:356:21 | V2 | -| main.rs:357:9:357:9 | p | | main.rs:356:24:356:43 | P | -| main.rs:357:9:357:15 | p.snd() | | main.rs:356:20:356:21 | V2 | -| main.rs:360:54:360:54 | p | | main.rs:243:5:247:5 | MyPair | -| main.rs:360:54:360:54 | p | P1 | main.rs:360:20:360:21 | V0 | -| main.rs:360:54:360:54 | p | P2 | main.rs:360:32:360:51 | P | -| main.rs:360:78:362:5 | { ... } | | main.rs:360:24:360:25 | V1 | -| main.rs:361:9:361:9 | p | | main.rs:243:5:247:5 | MyPair | -| main.rs:361:9:361:9 | p | P1 | main.rs:360:20:360:21 | V0 | -| main.rs:361:9:361:9 | p | P2 | main.rs:360:32:360:51 | P | -| main.rs:361:9:361:12 | p.p2 | | main.rs:360:32:360:51 | P | -| main.rs:361:9:361:18 | ... .fst() | | main.rs:360:24:360:25 | V1 | -| main.rs:366:23:366:26 | SelfParam | | main.rs:364:5:367:5 | Self [trait ConvertTo] | -| main.rs:371:23:371:26 | SelfParam | | main.rs:369:10:369:23 | T | -| main.rs:371:35:373:9 | { ... } | | main.rs:249:5:250:14 | S1 | -| main.rs:372:13:372:16 | self | | main.rs:369:10:369:23 | T | -| main.rs:372:13:372:21 | self.m1() | | main.rs:249:5:250:14 | S1 | -| main.rs:376:41:376:45 | thing | | main.rs:376:23:376:38 | T | -| main.rs:376:57:378:5 | { ... } | | main.rs:376:19:376:20 | TS | -| main.rs:377:9:377:13 | thing | | main.rs:376:23:376:38 | T | -| main.rs:377:9:377:26 | thing.convert_to() | | main.rs:376:19:376:20 | TS | -| main.rs:380:56:380:60 | thing | | main.rs:380:39:380:53 | TP | -| main.rs:380:73:383:5 | { ... } | | main.rs:249:5:250:14 | S1 | -| main.rs:382:9:382:13 | thing | | main.rs:380:39:380:53 | TP | -| main.rs:382:9:382:26 | thing.convert_to() | | main.rs:249:5:250:14 | S1 | -| main.rs:385:16:456:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:386:13:386:20 | thing_s1 | | main.rs:238:5:241:5 | MyThing | -| main.rs:386:13:386:20 | thing_s1 | A | main.rs:249:5:250:14 | S1 | -| main.rs:386:24:386:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | -| main.rs:386:24:386:40 | MyThing {...} | A | main.rs:249:5:250:14 | S1 | -| main.rs:386:37:386:38 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:387:13:387:20 | thing_s2 | | main.rs:238:5:241:5 | MyThing | -| main.rs:387:13:387:20 | thing_s2 | A | main.rs:251:5:252:14 | S2 | -| main.rs:387:24:387:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | -| main.rs:387:24:387:40 | MyThing {...} | A | main.rs:251:5:252:14 | S2 | -| main.rs:387:37:387:38 | S2 | | main.rs:251:5:252:14 | S2 | -| main.rs:388:13:388:20 | thing_s3 | | main.rs:238:5:241:5 | MyThing | -| main.rs:388:13:388:20 | thing_s3 | A | main.rs:253:5:254:14 | S3 | -| main.rs:388:24:388:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | -| main.rs:388:24:388:40 | MyThing {...} | A | main.rs:253:5:254:14 | S3 | -| main.rs:388:37:388:38 | S3 | | main.rs:253:5:254:14 | S3 | -| main.rs:392:9:392:39 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:392:18:392:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:392:18:392:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:392:18:392:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:392:18:392:38 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:392:18:392:38 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:392:26:392:33 | thing_s1 | | main.rs:238:5:241:5 | MyThing | -| main.rs:392:26:392:33 | thing_s1 | A | main.rs:249:5:250:14 | S1 | -| main.rs:392:26:392:38 | thing_s1.m1() | | main.rs:249:5:250:14 | S1 | -| main.rs:393:9:393:41 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:393:18:393:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:393:18:393:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:393:18:393:40 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:393:18:393:40 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:393:18:393:40 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:393:26:393:33 | thing_s2 | | main.rs:238:5:241:5 | MyThing | -| main.rs:393:26:393:33 | thing_s2 | A | main.rs:251:5:252:14 | S2 | -| main.rs:393:26:393:38 | thing_s2.m1() | | main.rs:238:5:241:5 | MyThing | -| main.rs:393:26:393:38 | thing_s2.m1() | A | main.rs:251:5:252:14 | S2 | -| main.rs:393:26:393:40 | ... .a | | main.rs:251:5:252:14 | S2 | -| main.rs:394:13:394:14 | s3 | | main.rs:253:5:254:14 | S3 | -| main.rs:394:22:394:29 | thing_s3 | | main.rs:238:5:241:5 | MyThing | -| main.rs:394:22:394:29 | thing_s3 | A | main.rs:253:5:254:14 | S3 | -| main.rs:394:22:394:34 | thing_s3.m1() | | main.rs:253:5:254:14 | S3 | -| main.rs:395:9:395:28 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:395:18:395:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:395:18:395:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:395:18:395:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:395:18:395:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:395:18:395:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:395:26:395:27 | s3 | | main.rs:253:5:254:14 | S3 | -| main.rs:397:13:397:14 | p1 | | main.rs:243:5:247:5 | MyPair | -| main.rs:397:13:397:14 | p1 | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:397:13:397:14 | p1 | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:397:18:397:42 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:397:18:397:42 | MyPair {...} | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:397:18:397:42 | MyPair {...} | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:397:31:397:32 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:397:39:397:40 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:398:9:398:33 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:398:18:398:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:398:18:398:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:398:18:398:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:398:18:398:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:398:18:398:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:398:26:398:27 | p1 | | main.rs:243:5:247:5 | MyPair | -| main.rs:398:26:398:27 | p1 | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:398:26:398:27 | p1 | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:398:26:398:32 | p1.m1() | | main.rs:249:5:250:14 | S1 | -| main.rs:400:13:400:14 | p2 | | main.rs:243:5:247:5 | MyPair | -| main.rs:400:13:400:14 | p2 | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:400:13:400:14 | p2 | P2 | main.rs:251:5:252:14 | S2 | -| main.rs:400:18:400:42 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:400:18:400:42 | MyPair {...} | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:400:18:400:42 | MyPair {...} | P2 | main.rs:251:5:252:14 | S2 | -| main.rs:400:31:400:32 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:400:39:400:40 | S2 | | main.rs:251:5:252:14 | S2 | -| main.rs:401:9:401:33 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:401:18:401:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:401:18:401:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:401:18:401:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:401:18:401:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:401:18:401:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:401:26:401:27 | p2 | | main.rs:243:5:247:5 | MyPair | -| main.rs:401:26:401:27 | p2 | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:401:26:401:27 | p2 | P2 | main.rs:251:5:252:14 | S2 | -| main.rs:401:26:401:32 | p2.m1() | | main.rs:253:5:254:14 | S3 | -| main.rs:403:13:403:14 | p3 | | main.rs:243:5:247:5 | MyPair | -| main.rs:403:13:403:14 | p3 | P1 | main.rs:238:5:241:5 | MyThing | -| main.rs:403:13:403:14 | p3 | P1.A | main.rs:249:5:250:14 | S1 | -| main.rs:403:13:403:14 | p3 | P2 | main.rs:253:5:254:14 | S3 | -| main.rs:403:18:406:9 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:403:18:406:9 | MyPair {...} | P1 | main.rs:238:5:241:5 | MyThing | -| main.rs:403:18:406:9 | MyPair {...} | P1.A | main.rs:249:5:250:14 | S1 | -| main.rs:403:18:406:9 | MyPair {...} | P2 | main.rs:253:5:254:14 | S3 | -| main.rs:404:17:404:33 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | -| main.rs:404:17:404:33 | MyThing {...} | A | main.rs:249:5:250:14 | S1 | -| main.rs:404:30:404:31 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:405:17:405:18 | S3 | | main.rs:253:5:254:14 | S3 | -| main.rs:407:9:407:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:268:15:268:18 | SelfParam | | main.rs:267:5:269:5 | Self [trait MyTrait2] | +| main.rs:273:16:273:19 | SelfParam | | main.rs:271:5:276:5 | Self [trait MyProduct] | +| main.rs:275:16:275:19 | SelfParam | | main.rs:271:5:276:5 | Self [trait MyProduct] | +| main.rs:278:43:278:43 | x | | main.rs:278:26:278:40 | T2 | +| main.rs:278:56:280:5 | { ... } | | main.rs:278:22:278:23 | T1 | +| main.rs:279:9:279:9 | x | | main.rs:278:26:278:40 | T2 | +| main.rs:279:9:279:14 | x.m1() | | main.rs:278:22:278:23 | T1 | +| main.rs:282:71:282:71 | x | | main.rs:282:53:282:68 | T3 | +| main.rs:282:84:284:5 | { ... } | | main.rs:282:32:282:33 | T1 | +| main.rs:283:9:283:9 | x | | main.rs:282:53:282:68 | T3 | +| main.rs:283:9:283:14 | x.m3() | | main.rs:282:36:282:50 | T2 | +| main.rs:283:9:283:19 | ... .m1() | | main.rs:282:32:282:33 | T1 | +| main.rs:288:15:288:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | +| main.rs:288:15:288:18 | SelfParam | A | main.rs:249:5:250:14 | S1 | +| main.rs:288:27:290:9 | { ... } | | main.rs:249:5:250:14 | S1 | +| main.rs:289:13:289:16 | self | | main.rs:238:5:241:5 | MyThing | +| main.rs:289:13:289:16 | self | A | main.rs:249:5:250:14 | S1 | +| main.rs:289:13:289:18 | self.a | | main.rs:249:5:250:14 | S1 | +| main.rs:295:15:295:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | +| main.rs:295:15:295:18 | SelfParam | A | main.rs:251:5:252:14 | S2 | +| main.rs:295:29:297:9 | { ... } | | main.rs:238:5:241:5 | MyThing | +| main.rs:295:29:297:9 | { ... } | A | main.rs:251:5:252:14 | S2 | +| main.rs:296:13:296:30 | Self {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:296:13:296:30 | Self {...} | A | main.rs:251:5:252:14 | S2 | +| main.rs:296:23:296:26 | self | | main.rs:238:5:241:5 | MyThing | +| main.rs:296:23:296:26 | self | A | main.rs:251:5:252:14 | S2 | +| main.rs:296:23:296:28 | self.a | | main.rs:251:5:252:14 | S2 | +| main.rs:302:15:302:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | +| main.rs:302:15:302:18 | SelfParam | A | main.rs:251:5:252:14 | S2 | +| main.rs:302:36:304:9 | { ... } | | main.rs:238:5:241:5 | MyThing | +| main.rs:302:36:304:9 | { ... } | A | main.rs:249:5:250:14 | S1 | +| main.rs:303:13:303:29 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:303:13:303:29 | MyThing {...} | A | main.rs:249:5:250:14 | S1 | +| main.rs:303:26:303:27 | S1 | | main.rs:249:5:250:14 | S1 | +| main.rs:314:15:314:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | +| main.rs:314:15:314:18 | SelfParam | A | main.rs:253:5:254:14 | S3 | +| main.rs:314:27:316:9 | { ... } | | main.rs:309:10:309:11 | TD | +| main.rs:315:13:315:25 | ...::default(...) | | main.rs:309:10:309:11 | TD | +| main.rs:321:15:321:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:321:15:321:18 | SelfParam | P1 | main.rs:319:10:319:10 | I | +| main.rs:321:15:321:18 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:321:26:323:9 | { ... } | | main.rs:319:10:319:10 | I | +| main.rs:322:13:322:16 | self | | main.rs:243:5:247:5 | MyPair | +| main.rs:322:13:322:16 | self | P1 | main.rs:319:10:319:10 | I | +| main.rs:322:13:322:16 | self | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:322:13:322:19 | self.p1 | | main.rs:319:10:319:10 | I | +| main.rs:328:15:328:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:328:15:328:18 | SelfParam | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:328:15:328:18 | SelfParam | P2 | main.rs:251:5:252:14 | S2 | +| main.rs:328:27:330:9 | { ... } | | main.rs:253:5:254:14 | S3 | +| main.rs:329:13:329:14 | S3 | | main.rs:253:5:254:14 | S3 | +| main.rs:335:15:335:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:335:15:335:18 | SelfParam | P1 | main.rs:238:5:241:5 | MyThing | +| main.rs:335:15:335:18 | SelfParam | P1.A | main.rs:333:10:333:11 | TT | +| main.rs:335:15:335:18 | SelfParam | P2 | main.rs:253:5:254:14 | S3 | +| main.rs:335:27:338:9 | { ... } | | main.rs:333:10:333:11 | TT | +| main.rs:336:17:336:21 | alpha | | main.rs:238:5:241:5 | MyThing | +| main.rs:336:17:336:21 | alpha | A | main.rs:333:10:333:11 | TT | +| main.rs:336:25:336:28 | self | | main.rs:243:5:247:5 | MyPair | +| main.rs:336:25:336:28 | self | P1 | main.rs:238:5:241:5 | MyThing | +| main.rs:336:25:336:28 | self | P1.A | main.rs:333:10:333:11 | TT | +| main.rs:336:25:336:28 | self | P2 | main.rs:253:5:254:14 | S3 | +| main.rs:336:25:336:31 | self.p1 | | main.rs:238:5:241:5 | MyThing | +| main.rs:336:25:336:31 | self.p1 | A | main.rs:333:10:333:11 | TT | +| main.rs:337:13:337:17 | alpha | | main.rs:238:5:241:5 | MyThing | +| main.rs:337:13:337:17 | alpha | A | main.rs:333:10:333:11 | TT | +| main.rs:337:13:337:19 | alpha.a | | main.rs:333:10:333:11 | TT | +| main.rs:344:16:344:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:344:16:344:19 | SelfParam | P1 | main.rs:342:10:342:10 | A | +| main.rs:344:16:344:19 | SelfParam | P2 | main.rs:342:10:342:10 | A | +| main.rs:344:27:346:9 | { ... } | | main.rs:342:10:342:10 | A | +| main.rs:345:13:345:16 | self | | main.rs:243:5:247:5 | MyPair | +| main.rs:345:13:345:16 | self | P1 | main.rs:342:10:342:10 | A | +| main.rs:345:13:345:16 | self | P2 | main.rs:342:10:342:10 | A | +| main.rs:345:13:345:19 | self.p1 | | main.rs:342:10:342:10 | A | +| main.rs:349:16:349:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:349:16:349:19 | SelfParam | P1 | main.rs:342:10:342:10 | A | +| main.rs:349:16:349:19 | SelfParam | P2 | main.rs:342:10:342:10 | A | +| main.rs:349:27:351:9 | { ... } | | main.rs:342:10:342:10 | A | +| main.rs:350:13:350:16 | self | | main.rs:243:5:247:5 | MyPair | +| main.rs:350:13:350:16 | self | P1 | main.rs:342:10:342:10 | A | +| main.rs:350:13:350:16 | self | P2 | main.rs:342:10:342:10 | A | +| main.rs:350:13:350:19 | self.p2 | | main.rs:342:10:342:10 | A | +| main.rs:357:16:357:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:357:16:357:19 | SelfParam | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:357:16:357:19 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:357:28:359:9 | { ... } | | main.rs:249:5:250:14 | S1 | +| main.rs:358:13:358:16 | self | | main.rs:243:5:247:5 | MyPair | +| main.rs:358:13:358:16 | self | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:358:13:358:16 | self | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:358:13:358:19 | self.p2 | | main.rs:249:5:250:14 | S1 | +| main.rs:362:16:362:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | +| main.rs:362:16:362:19 | SelfParam | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:362:16:362:19 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:362:28:364:9 | { ... } | | main.rs:251:5:252:14 | S2 | +| main.rs:363:13:363:16 | self | | main.rs:243:5:247:5 | MyPair | +| main.rs:363:13:363:16 | self | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:363:13:363:16 | self | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:363:13:363:19 | self.p1 | | main.rs:251:5:252:14 | S2 | +| main.rs:367:46:367:46 | p | | main.rs:367:24:367:43 | P | +| main.rs:367:58:369:5 | { ... } | | main.rs:367:16:367:17 | V1 | +| main.rs:368:9:368:9 | p | | main.rs:367:24:367:43 | P | +| main.rs:368:9:368:15 | p.fst() | | main.rs:367:16:367:17 | V1 | +| main.rs:371:46:371:46 | p | | main.rs:371:24:371:43 | P | +| main.rs:371:58:373:5 | { ... } | | main.rs:371:20:371:21 | V2 | +| main.rs:372:9:372:9 | p | | main.rs:371:24:371:43 | P | +| main.rs:372:9:372:15 | p.snd() | | main.rs:371:20:371:21 | V2 | +| main.rs:375:54:375:54 | p | | main.rs:243:5:247:5 | MyPair | +| main.rs:375:54:375:54 | p | P1 | main.rs:375:20:375:21 | V0 | +| main.rs:375:54:375:54 | p | P2 | main.rs:375:32:375:51 | P | +| main.rs:375:78:377:5 | { ... } | | main.rs:375:24:375:25 | V1 | +| main.rs:376:9:376:9 | p | | main.rs:243:5:247:5 | MyPair | +| main.rs:376:9:376:9 | p | P1 | main.rs:375:20:375:21 | V0 | +| main.rs:376:9:376:9 | p | P2 | main.rs:375:32:375:51 | P | +| main.rs:376:9:376:12 | p.p2 | | main.rs:375:32:375:51 | P | +| main.rs:376:9:376:18 | ... .fst() | | main.rs:375:24:375:25 | V1 | +| main.rs:381:23:381:26 | SelfParam | | main.rs:379:5:382:5 | Self [trait ConvertTo] | +| main.rs:386:23:386:26 | SelfParam | | main.rs:384:10:384:23 | T | +| main.rs:386:35:388:9 | { ... } | | main.rs:249:5:250:14 | S1 | +| main.rs:387:13:387:16 | self | | main.rs:384:10:384:23 | T | +| main.rs:387:13:387:21 | self.m1() | | main.rs:249:5:250:14 | S1 | +| main.rs:391:41:391:45 | thing | | main.rs:391:23:391:38 | T | +| main.rs:391:57:393:5 | { ... } | | main.rs:391:19:391:20 | TS | +| main.rs:392:9:392:13 | thing | | main.rs:391:23:391:38 | T | +| main.rs:392:9:392:26 | thing.convert_to() | | main.rs:391:19:391:20 | TS | +| main.rs:395:56:395:60 | thing | | main.rs:395:39:395:53 | TP | +| main.rs:395:73:398:5 | { ... } | | main.rs:249:5:250:14 | S1 | +| main.rs:397:9:397:13 | thing | | main.rs:395:39:395:53 | TP | +| main.rs:397:9:397:26 | thing.convert_to() | | main.rs:249:5:250:14 | S1 | +| main.rs:400:16:473:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:401:13:401:20 | thing_s1 | | main.rs:238:5:241:5 | MyThing | +| main.rs:401:13:401:20 | thing_s1 | A | main.rs:249:5:250:14 | S1 | +| main.rs:401:24:401:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:401:24:401:40 | MyThing {...} | A | main.rs:249:5:250:14 | S1 | +| main.rs:401:37:401:38 | S1 | | main.rs:249:5:250:14 | S1 | +| main.rs:402:13:402:20 | thing_s2 | | main.rs:238:5:241:5 | MyThing | +| main.rs:402:13:402:20 | thing_s2 | A | main.rs:251:5:252:14 | S2 | +| main.rs:402:24:402:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:402:24:402:40 | MyThing {...} | A | main.rs:251:5:252:14 | S2 | +| main.rs:402:37:402:38 | S2 | | main.rs:251:5:252:14 | S2 | +| main.rs:403:13:403:20 | thing_s3 | | main.rs:238:5:241:5 | MyThing | +| main.rs:403:13:403:20 | thing_s3 | A | main.rs:253:5:254:14 | S3 | +| main.rs:403:24:403:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:403:24:403:40 | MyThing {...} | A | main.rs:253:5:254:14 | S3 | +| main.rs:403:37:403:38 | S3 | | main.rs:253:5:254:14 | S3 | +| main.rs:407:9:407:39 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:407:18:407:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:407:18:407:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:407:18:407:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:407:18:407:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:407:18:407:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:407:26:407:27 | p3 | | main.rs:243:5:247:5 | MyPair | -| main.rs:407:26:407:27 | p3 | P1 | main.rs:238:5:241:5 | MyThing | -| main.rs:407:26:407:27 | p3 | P1.A | main.rs:249:5:250:14 | S1 | -| main.rs:407:26:407:27 | p3 | P2 | main.rs:253:5:254:14 | S3 | -| main.rs:407:26:407:32 | p3.m1() | | main.rs:249:5:250:14 | S1 | -| main.rs:410:13:410:13 | a | | main.rs:243:5:247:5 | MyPair | -| main.rs:410:13:410:13 | a | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:410:13:410:13 | a | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:410:17:410:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:410:17:410:41 | MyPair {...} | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:410:17:410:41 | MyPair {...} | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:410:30:410:31 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:410:38:410:39 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:411:13:411:13 | x | | main.rs:249:5:250:14 | S1 | -| main.rs:411:17:411:17 | a | | main.rs:243:5:247:5 | MyPair | -| main.rs:411:17:411:17 | a | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:411:17:411:17 | a | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:411:17:411:23 | a.fst() | | main.rs:249:5:250:14 | S1 | -| main.rs:412:9:412:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:412:18:412:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:412:18:412:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:412:18:412:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:412:18:412:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:412:18:412:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:412:26:412:26 | x | | main.rs:249:5:250:14 | S1 | -| main.rs:413:13:413:13 | y | | main.rs:249:5:250:14 | S1 | -| main.rs:413:17:413:17 | a | | main.rs:243:5:247:5 | MyPair | -| main.rs:413:17:413:17 | a | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:413:17:413:17 | a | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:413:17:413:23 | a.snd() | | main.rs:249:5:250:14 | S1 | -| main.rs:414:9:414:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:414:18:414:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:414:18:414:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:414:18:414:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:414:18:414:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:414:18:414:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:414:26:414:26 | y | | main.rs:249:5:250:14 | S1 | -| main.rs:420:13:420:13 | b | | main.rs:243:5:247:5 | MyPair | -| main.rs:420:13:420:13 | b | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:420:13:420:13 | b | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:420:17:420:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:420:17:420:41 | MyPair {...} | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:420:17:420:41 | MyPair {...} | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:420:30:420:31 | S2 | | main.rs:251:5:252:14 | S2 | -| main.rs:420:38:420:39 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:421:13:421:13 | x | | main.rs:249:5:250:14 | S1 | -| main.rs:421:17:421:17 | b | | main.rs:243:5:247:5 | MyPair | -| main.rs:421:17:421:17 | b | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:421:17:421:17 | b | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:421:17:421:23 | b.fst() | | main.rs:249:5:250:14 | S1 | -| main.rs:422:9:422:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:407:18:407:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:407:18:407:38 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:407:18:407:38 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:407:26:407:33 | thing_s1 | | main.rs:238:5:241:5 | MyThing | +| main.rs:407:26:407:33 | thing_s1 | A | main.rs:249:5:250:14 | S1 | +| main.rs:407:26:407:38 | thing_s1.m1() | | main.rs:249:5:250:14 | S1 | +| main.rs:408:9:408:41 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:408:18:408:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:408:18:408:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:408:18:408:40 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:408:18:408:40 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:408:18:408:40 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:408:26:408:33 | thing_s2 | | main.rs:238:5:241:5 | MyThing | +| main.rs:408:26:408:33 | thing_s2 | A | main.rs:251:5:252:14 | S2 | +| main.rs:408:26:408:38 | thing_s2.m1() | | main.rs:238:5:241:5 | MyThing | +| main.rs:408:26:408:38 | thing_s2.m1() | A | main.rs:251:5:252:14 | S2 | +| main.rs:408:26:408:40 | ... .a | | main.rs:251:5:252:14 | S2 | +| main.rs:409:13:409:14 | s3 | | main.rs:253:5:254:14 | S3 | +| main.rs:409:22:409:29 | thing_s3 | | main.rs:238:5:241:5 | MyThing | +| main.rs:409:22:409:29 | thing_s3 | A | main.rs:253:5:254:14 | S3 | +| main.rs:409:22:409:34 | thing_s3.m1() | | main.rs:253:5:254:14 | S3 | +| main.rs:410:9:410:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:410:18:410:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:410:18:410:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:410:18:410:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:410:18:410:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:410:18:410:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:410:26:410:27 | s3 | | main.rs:253:5:254:14 | S3 | +| main.rs:412:13:412:14 | p1 | | main.rs:243:5:247:5 | MyPair | +| main.rs:412:13:412:14 | p1 | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:412:13:412:14 | p1 | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:412:18:412:42 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:412:18:412:42 | MyPair {...} | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:412:18:412:42 | MyPair {...} | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:412:31:412:32 | S1 | | main.rs:249:5:250:14 | S1 | +| main.rs:412:39:412:40 | S1 | | main.rs:249:5:250:14 | S1 | +| main.rs:413:9:413:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:413:18:413:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:413:18:413:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:413:18:413:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:413:18:413:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:413:18:413:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:413:26:413:27 | p1 | | main.rs:243:5:247:5 | MyPair | +| main.rs:413:26:413:27 | p1 | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:413:26:413:27 | p1 | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:413:26:413:32 | p1.m1() | | main.rs:249:5:250:14 | S1 | +| main.rs:415:13:415:14 | p2 | | main.rs:243:5:247:5 | MyPair | +| main.rs:415:13:415:14 | p2 | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:415:13:415:14 | p2 | P2 | main.rs:251:5:252:14 | S2 | +| main.rs:415:18:415:42 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:415:18:415:42 | MyPair {...} | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:415:18:415:42 | MyPair {...} | P2 | main.rs:251:5:252:14 | S2 | +| main.rs:415:31:415:32 | S1 | | main.rs:249:5:250:14 | S1 | +| main.rs:415:39:415:40 | S2 | | main.rs:251:5:252:14 | S2 | +| main.rs:416:9:416:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:416:18:416:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:416:18:416:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:416:18:416:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:416:18:416:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:416:18:416:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:416:26:416:27 | p2 | | main.rs:243:5:247:5 | MyPair | +| main.rs:416:26:416:27 | p2 | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:416:26:416:27 | p2 | P2 | main.rs:251:5:252:14 | S2 | +| main.rs:416:26:416:32 | p2.m1() | | main.rs:253:5:254:14 | S3 | +| main.rs:418:13:418:14 | p3 | | main.rs:243:5:247:5 | MyPair | +| main.rs:418:13:418:14 | p3 | P1 | main.rs:238:5:241:5 | MyThing | +| main.rs:418:13:418:14 | p3 | P1.A | main.rs:249:5:250:14 | S1 | +| main.rs:418:13:418:14 | p3 | P2 | main.rs:253:5:254:14 | S3 | +| main.rs:418:18:421:9 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:418:18:421:9 | MyPair {...} | P1 | main.rs:238:5:241:5 | MyThing | +| main.rs:418:18:421:9 | MyPair {...} | P1.A | main.rs:249:5:250:14 | S1 | +| main.rs:418:18:421:9 | MyPair {...} | P2 | main.rs:253:5:254:14 | S3 | +| main.rs:419:17:419:33 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:419:17:419:33 | MyThing {...} | A | main.rs:249:5:250:14 | S1 | +| main.rs:419:30:419:31 | S1 | | main.rs:249:5:250:14 | S1 | +| main.rs:420:17:420:18 | S3 | | main.rs:253:5:254:14 | S3 | +| main.rs:422:9:422:33 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:422:18:422:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:422:18:422:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:422:18:422:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:422:18:422:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:422:18:422:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:422:26:422:26 | x | | main.rs:249:5:250:14 | S1 | -| main.rs:423:13:423:13 | y | | main.rs:251:5:252:14 | S2 | -| main.rs:423:17:423:17 | b | | main.rs:243:5:247:5 | MyPair | -| main.rs:423:17:423:17 | b | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:423:17:423:17 | b | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:423:17:423:23 | b.snd() | | main.rs:251:5:252:14 | S2 | -| main.rs:424:9:424:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:424:18:424:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:424:18:424:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:424:18:424:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:424:18:424:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:424:18:424:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:424:26:424:26 | y | | main.rs:251:5:252:14 | S2 | -| main.rs:428:13:428:13 | x | | main.rs:249:5:250:14 | S1 | -| main.rs:428:17:428:39 | call_trait_m1(...) | | main.rs:249:5:250:14 | S1 | -| main.rs:428:31:428:38 | thing_s1 | | main.rs:238:5:241:5 | MyThing | -| main.rs:428:31:428:38 | thing_s1 | A | main.rs:249:5:250:14 | S1 | +| main.rs:422:18:422:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:422:18:422:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:422:18:422:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:422:26:422:27 | p3 | | main.rs:243:5:247:5 | MyPair | +| main.rs:422:26:422:27 | p3 | P1 | main.rs:238:5:241:5 | MyThing | +| main.rs:422:26:422:27 | p3 | P1.A | main.rs:249:5:250:14 | S1 | +| main.rs:422:26:422:27 | p3 | P2 | main.rs:253:5:254:14 | S3 | +| main.rs:422:26:422:32 | p3.m1() | | main.rs:249:5:250:14 | S1 | +| main.rs:425:13:425:13 | a | | main.rs:243:5:247:5 | MyPair | +| main.rs:425:13:425:13 | a | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:425:13:425:13 | a | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:425:17:425:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:425:17:425:41 | MyPair {...} | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:425:17:425:41 | MyPair {...} | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:425:30:425:31 | S1 | | main.rs:249:5:250:14 | S1 | +| main.rs:425:38:425:39 | S1 | | main.rs:249:5:250:14 | S1 | +| main.rs:426:13:426:13 | x | | main.rs:249:5:250:14 | S1 | +| main.rs:426:17:426:17 | a | | main.rs:243:5:247:5 | MyPair | +| main.rs:426:17:426:17 | a | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:426:17:426:17 | a | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:426:17:426:23 | a.fst() | | main.rs:249:5:250:14 | S1 | +| main.rs:427:9:427:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:427:18:427:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:427:18:427:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:427:18:427:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:427:18:427:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:427:18:427:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:427:26:427:26 | x | | main.rs:249:5:250:14 | S1 | +| main.rs:428:13:428:13 | y | | main.rs:249:5:250:14 | S1 | +| main.rs:428:17:428:17 | a | | main.rs:243:5:247:5 | MyPair | +| main.rs:428:17:428:17 | a | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:428:17:428:17 | a | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:428:17:428:23 | a.snd() | | main.rs:249:5:250:14 | S1 | | main.rs:429:9:429:27 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:429:18:429:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:429:18:429:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | | main.rs:429:18:429:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:429:18:429:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:429:18:429:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:429:26:429:26 | x | | main.rs:249:5:250:14 | S1 | -| main.rs:430:13:430:13 | y | | main.rs:238:5:241:5 | MyThing | -| main.rs:430:13:430:13 | y | A | main.rs:251:5:252:14 | S2 | -| main.rs:430:17:430:39 | call_trait_m1(...) | | main.rs:238:5:241:5 | MyThing | -| main.rs:430:17:430:39 | call_trait_m1(...) | A | main.rs:251:5:252:14 | S2 | -| main.rs:430:31:430:38 | thing_s2 | | main.rs:238:5:241:5 | MyThing | -| main.rs:430:31:430:38 | thing_s2 | A | main.rs:251:5:252:14 | S2 | -| main.rs:431:9:431:29 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:431:18:431:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:431:18:431:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:431:18:431:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:431:18:431:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:431:18:431:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:431:26:431:26 | y | | main.rs:238:5:241:5 | MyThing | -| main.rs:431:26:431:26 | y | A | main.rs:251:5:252:14 | S2 | -| main.rs:431:26:431:28 | y.a | | main.rs:251:5:252:14 | S2 | -| main.rs:434:13:434:13 | a | | main.rs:243:5:247:5 | MyPair | -| main.rs:434:13:434:13 | a | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:434:13:434:13 | a | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:434:17:434:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:434:17:434:41 | MyPair {...} | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:434:17:434:41 | MyPair {...} | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:434:30:434:31 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:434:38:434:39 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:435:13:435:13 | x | | main.rs:249:5:250:14 | S1 | -| main.rs:435:17:435:26 | get_fst(...) | | main.rs:249:5:250:14 | S1 | -| main.rs:435:25:435:25 | a | | main.rs:243:5:247:5 | MyPair | -| main.rs:435:25:435:25 | a | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:435:25:435:25 | a | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:436:9:436:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:436:18:436:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:436:18:436:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:436:18:436:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:436:18:436:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:436:18:436:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:436:26:436:26 | x | | main.rs:249:5:250:14 | S1 | -| main.rs:437:13:437:13 | y | | main.rs:249:5:250:14 | S1 | -| main.rs:437:17:437:26 | get_snd(...) | | main.rs:249:5:250:14 | S1 | -| main.rs:437:25:437:25 | a | | main.rs:243:5:247:5 | MyPair | -| main.rs:437:25:437:25 | a | P1 | main.rs:249:5:250:14 | S1 | -| main.rs:437:25:437:25 | a | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:438:9:438:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:438:18:438:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:438:18:438:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:438:18:438:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:438:18:438:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:438:18:438:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:438:26:438:26 | y | | main.rs:249:5:250:14 | S1 | -| main.rs:441:13:441:13 | b | | main.rs:243:5:247:5 | MyPair | -| main.rs:441:13:441:13 | b | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:441:13:441:13 | b | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:441:17:441:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:441:17:441:41 | MyPair {...} | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:441:17:441:41 | MyPair {...} | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:441:30:441:31 | S2 | | main.rs:251:5:252:14 | S2 | -| main.rs:441:38:441:39 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:442:13:442:13 | x | | main.rs:249:5:250:14 | S1 | -| main.rs:442:17:442:26 | get_fst(...) | | main.rs:249:5:250:14 | S1 | -| main.rs:442:25:442:25 | b | | main.rs:243:5:247:5 | MyPair | -| main.rs:442:25:442:25 | b | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:442:25:442:25 | b | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:443:9:443:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:443:18:443:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:443:18:443:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:443:18:443:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:443:18:443:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:443:18:443:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:443:26:443:26 | x | | main.rs:249:5:250:14 | S1 | -| main.rs:444:13:444:13 | y | | main.rs:251:5:252:14 | S2 | -| main.rs:444:17:444:26 | get_snd(...) | | main.rs:251:5:252:14 | S2 | -| main.rs:444:25:444:25 | b | | main.rs:243:5:247:5 | MyPair | -| main.rs:444:25:444:25 | b | P1 | main.rs:251:5:252:14 | S2 | -| main.rs:444:25:444:25 | b | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:445:9:445:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:445:18:445:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:445:18:445:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:445:18:445:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:445:18:445:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:445:18:445:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:445:26:445:26 | y | | main.rs:251:5:252:14 | S2 | -| main.rs:447:13:447:13 | c | | main.rs:243:5:247:5 | MyPair | -| main.rs:447:13:447:13 | c | P1 | main.rs:253:5:254:14 | S3 | -| main.rs:447:13:447:13 | c | P2 | main.rs:243:5:247:5 | MyPair | -| main.rs:447:13:447:13 | c | P2.P1 | main.rs:251:5:252:14 | S2 | -| main.rs:447:13:447:13 | c | P2.P2 | main.rs:249:5:250:14 | S1 | -| main.rs:447:17:450:9 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:447:17:450:9 | MyPair {...} | P1 | main.rs:253:5:254:14 | S3 | -| main.rs:447:17:450:9 | MyPair {...} | P2 | main.rs:243:5:247:5 | MyPair | -| main.rs:447:17:450:9 | MyPair {...} | P2.P1 | main.rs:251:5:252:14 | S2 | -| main.rs:447:17:450:9 | MyPair {...} | P2.P2 | main.rs:249:5:250:14 | S1 | -| main.rs:448:17:448:18 | S3 | | main.rs:253:5:254:14 | S3 | +| main.rs:429:26:429:26 | y | | main.rs:249:5:250:14 | S1 | +| main.rs:435:13:435:13 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:435:13:435:13 | b | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:435:13:435:13 | b | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:435:17:435:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:435:17:435:41 | MyPair {...} | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:435:17:435:41 | MyPair {...} | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:435:30:435:31 | S2 | | main.rs:251:5:252:14 | S2 | +| main.rs:435:38:435:39 | S1 | | main.rs:249:5:250:14 | S1 | +| main.rs:436:13:436:13 | x | | main.rs:249:5:250:14 | S1 | +| main.rs:436:17:436:17 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:436:17:436:17 | b | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:436:17:436:17 | b | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:436:17:436:23 | b.fst() | | main.rs:249:5:250:14 | S1 | +| main.rs:437:9:437:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:437:18:437:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:437:18:437:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:437:18:437:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:437:18:437:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:437:18:437:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:437:26:437:26 | x | | main.rs:249:5:250:14 | S1 | +| main.rs:438:13:438:13 | y | | main.rs:251:5:252:14 | S2 | +| main.rs:438:17:438:17 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:438:17:438:17 | b | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:438:17:438:17 | b | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:438:17:438:23 | b.snd() | | main.rs:251:5:252:14 | S2 | +| main.rs:439:9:439:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:439:18:439:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:439:18:439:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:439:18:439:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:439:18:439:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:439:18:439:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:439:26:439:26 | y | | main.rs:251:5:252:14 | S2 | +| main.rs:443:13:443:13 | x | | main.rs:249:5:250:14 | S1 | +| main.rs:443:17:443:39 | call_trait_m1(...) | | main.rs:249:5:250:14 | S1 | +| main.rs:443:31:443:38 | thing_s1 | | main.rs:238:5:241:5 | MyThing | +| main.rs:443:31:443:38 | thing_s1 | A | main.rs:249:5:250:14 | S1 | +| main.rs:444:9:444:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:444:18:444:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:444:18:444:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:444:18:444:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:444:18:444:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:444:18:444:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:444:26:444:26 | x | | main.rs:249:5:250:14 | S1 | +| main.rs:445:13:445:13 | y | | main.rs:238:5:241:5 | MyThing | +| main.rs:445:13:445:13 | y | A | main.rs:251:5:252:14 | S2 | +| main.rs:445:17:445:39 | call_trait_m1(...) | | main.rs:238:5:241:5 | MyThing | +| main.rs:445:17:445:39 | call_trait_m1(...) | A | main.rs:251:5:252:14 | S2 | +| main.rs:445:31:445:38 | thing_s2 | | main.rs:238:5:241:5 | MyThing | +| main.rs:445:31:445:38 | thing_s2 | A | main.rs:251:5:252:14 | S2 | +| main.rs:446:9:446:29 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:446:18:446:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:446:18:446:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:446:18:446:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:446:18:446:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:446:18:446:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:446:26:446:26 | y | | main.rs:238:5:241:5 | MyThing | +| main.rs:446:26:446:26 | y | A | main.rs:251:5:252:14 | S2 | +| main.rs:446:26:446:28 | y.a | | main.rs:251:5:252:14 | S2 | +| main.rs:449:13:449:13 | a | | main.rs:243:5:247:5 | MyPair | +| main.rs:449:13:449:13 | a | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:449:13:449:13 | a | P2 | main.rs:249:5:250:14 | S1 | | main.rs:449:17:449:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | -| main.rs:449:17:449:41 | MyPair {...} | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:449:17:449:41 | MyPair {...} | P1 | main.rs:249:5:250:14 | S1 | | main.rs:449:17:449:41 | MyPair {...} | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:449:30:449:31 | S2 | | main.rs:251:5:252:14 | S2 | +| main.rs:449:30:449:31 | S1 | | main.rs:249:5:250:14 | S1 | | main.rs:449:38:449:39 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:451:13:451:13 | x | | main.rs:249:5:250:14 | S1 | -| main.rs:451:17:451:30 | get_snd_fst(...) | | main.rs:249:5:250:14 | S1 | -| main.rs:451:29:451:29 | c | | main.rs:243:5:247:5 | MyPair | -| main.rs:451:29:451:29 | c | P1 | main.rs:253:5:254:14 | S3 | -| main.rs:451:29:451:29 | c | P2 | main.rs:243:5:247:5 | MyPair | -| main.rs:451:29:451:29 | c | P2.P1 | main.rs:251:5:252:14 | S2 | -| main.rs:451:29:451:29 | c | P2.P2 | main.rs:249:5:250:14 | S1 | -| main.rs:453:13:453:17 | thing | | main.rs:238:5:241:5 | MyThing | -| main.rs:453:13:453:17 | thing | A | main.rs:249:5:250:14 | S1 | -| main.rs:453:21:453:37 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | -| main.rs:453:21:453:37 | MyThing {...} | A | main.rs:249:5:250:14 | S1 | -| main.rs:453:34:453:35 | S1 | | main.rs:249:5:250:14 | S1 | -| main.rs:454:13:454:13 | i | | main.rs:249:5:250:14 | S1 | -| main.rs:454:17:454:21 | thing | | main.rs:238:5:241:5 | MyThing | -| main.rs:454:17:454:21 | thing | A | main.rs:249:5:250:14 | S1 | -| main.rs:454:17:454:34 | thing.convert_to() | | main.rs:249:5:250:14 | S1 | -| main.rs:455:28:455:32 | thing | | main.rs:238:5:241:5 | MyThing | -| main.rs:455:28:455:32 | thing | A | main.rs:249:5:250:14 | S1 | -| main.rs:474:19:474:22 | SelfParam | | main.rs:472:5:475:5 | Self [trait FirstTrait] | -| main.rs:479:19:479:22 | SelfParam | | main.rs:477:5:480:5 | Self [trait SecondTrait] | -| main.rs:482:64:482:64 | x | | main.rs:482:45:482:61 | T | -| main.rs:482:70:486:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:484:13:484:14 | s1 | | main.rs:482:35:482:42 | I | -| main.rs:484:18:484:18 | x | | main.rs:482:45:482:61 | T | -| main.rs:484:18:484:27 | x.method() | | main.rs:482:35:482:42 | I | -| main.rs:485:9:485:28 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:485:18:485:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:485:18:485:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:485:18:485:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:485:18:485:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:485:18:485:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:485:26:485:27 | s1 | | main.rs:482:35:482:42 | I | -| main.rs:488:65:488:65 | x | | main.rs:488:46:488:62 | T | -| main.rs:488:71:492:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:490:13:490:14 | s2 | | main.rs:488:36:488:43 | I | -| main.rs:490:18:490:18 | x | | main.rs:488:46:488:62 | T | -| main.rs:490:18:490:27 | x.method() | | main.rs:488:36:488:43 | I | -| main.rs:491:9:491:28 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:491:18:491:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:491:18:491:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:491:18:491:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:491:18:491:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:491:18:491:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:491:26:491:27 | s2 | | main.rs:488:36:488:43 | I | -| main.rs:494:49:494:49 | x | | main.rs:494:30:494:46 | T | -| main.rs:494:55:497:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:495:13:495:13 | s | | main.rs:464:5:465:14 | S1 | -| main.rs:495:17:495:17 | x | | main.rs:494:30:494:46 | T | -| main.rs:495:17:495:26 | x.method() | | main.rs:464:5:465:14 | S1 | -| main.rs:496:9:496:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:496:18:496:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:496:18:496:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:496:18:496:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:496:18:496:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:496:18:496:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:496:26:496:26 | s | | main.rs:464:5:465:14 | S1 | -| main.rs:499:53:499:53 | x | | main.rs:499:34:499:50 | T | -| main.rs:499:59:502:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:500:13:500:13 | s | | main.rs:464:5:465:14 | S1 | -| main.rs:500:17:500:17 | x | | main.rs:499:34:499:50 | T | -| main.rs:500:17:500:26 | x.method() | | main.rs:464:5:465:14 | S1 | -| main.rs:501:9:501:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:501:18:501:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:501:18:501:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:501:18:501:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:501:18:501:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:501:18:501:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:501:26:501:26 | s | | main.rs:464:5:465:14 | S1 | -| main.rs:504:43:504:43 | x | | main.rs:504:40:504:40 | T | -| main.rs:507:5:510:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:508:13:508:13 | s | | main.rs:464:5:465:14 | S1 | -| main.rs:508:17:508:17 | x | | main.rs:504:40:504:40 | T | -| main.rs:508:17:508:26 | x.method() | | main.rs:464:5:465:14 | S1 | -| main.rs:509:9:509:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:509:18:509:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:509:18:509:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:509:18:509:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:509:18:509:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:509:18:509:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:509:26:509:26 | s | | main.rs:464:5:465:14 | S1 | -| main.rs:513:16:513:19 | SelfParam | | main.rs:512:5:516:5 | Self [trait Pair] | -| main.rs:515:16:515:19 | SelfParam | | main.rs:512:5:516:5 | Self [trait Pair] | -| main.rs:518:53:518:53 | x | | main.rs:518:50:518:50 | T | -| main.rs:518:59:518:59 | y | | main.rs:518:50:518:50 | T | -| main.rs:522:5:525:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:523:13:523:13 | _ | | main.rs:464:5:465:14 | S1 | -| main.rs:523:17:523:17 | x | | main.rs:518:50:518:50 | T | -| main.rs:523:17:523:23 | x.fst() | | main.rs:464:5:465:14 | S1 | -| main.rs:524:13:524:13 | _ | | main.rs:464:5:465:14 | S1 | -| main.rs:524:17:524:17 | y | | main.rs:518:50:518:50 | T | -| main.rs:524:17:524:26 | y.method() | | main.rs:464:5:465:14 | S1 | -| main.rs:527:58:527:58 | x | | main.rs:527:41:527:55 | T | -| main.rs:527:64:527:64 | y | | main.rs:527:41:527:55 | T | -| main.rs:527:70:532:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:529:13:529:14 | s1 | | main.rs:464:5:465:14 | S1 | -| main.rs:529:18:529:18 | x | | main.rs:527:41:527:55 | T | -| main.rs:529:18:529:24 | x.fst() | | main.rs:464:5:465:14 | S1 | -| main.rs:530:13:530:14 | s2 | | main.rs:467:5:468:14 | S2 | -| main.rs:530:18:530:18 | y | | main.rs:527:41:527:55 | T | -| main.rs:530:18:530:24 | y.snd() | | main.rs:467:5:468:14 | S2 | -| main.rs:531:9:531:38 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:531:18:531:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:531:18:531:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:531:18:531:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:531:18:531:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:531:18:531:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:531:32:531:33 | s1 | | main.rs:464:5:465:14 | S1 | -| main.rs:531:36:531:37 | s2 | | main.rs:467:5:468:14 | S2 | -| main.rs:534:69:534:69 | x | | main.rs:534:52:534:66 | T | -| main.rs:534:75:534:75 | y | | main.rs:534:52:534:66 | T | -| main.rs:534:81:539:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:536:13:536:14 | s1 | | main.rs:464:5:465:14 | S1 | -| main.rs:536:18:536:18 | x | | main.rs:534:52:534:66 | T | -| main.rs:536:18:536:24 | x.fst() | | main.rs:464:5:465:14 | S1 | -| main.rs:537:13:537:14 | s2 | | main.rs:534:41:534:49 | T2 | -| main.rs:537:18:537:18 | y | | main.rs:534:52:534:66 | T | -| main.rs:537:18:537:24 | y.snd() | | main.rs:534:41:534:49 | T2 | -| main.rs:538:9:538:38 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:538:18:538:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:538:18:538:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:538:18:538:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:538:18:538:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:538:18:538:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:538:32:538:33 | s1 | | main.rs:464:5:465:14 | S1 | -| main.rs:538:36:538:37 | s2 | | main.rs:534:41:534:49 | T2 | -| main.rs:541:50:541:50 | x | | main.rs:541:41:541:47 | T | -| main.rs:541:56:541:56 | y | | main.rs:541:41:541:47 | T | -| main.rs:541:62:546:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:543:13:543:14 | s1 | | {EXTERNAL LOCATION} | bool | -| main.rs:543:18:543:18 | x | | main.rs:541:41:541:47 | T | -| main.rs:543:18:543:24 | x.fst() | | {EXTERNAL LOCATION} | bool | -| main.rs:544:13:544:14 | s2 | | {EXTERNAL LOCATION} | i64 | -| main.rs:544:18:544:18 | y | | main.rs:541:41:541:47 | T | -| main.rs:544:18:544:24 | y.snd() | | {EXTERNAL LOCATION} | i64 | -| main.rs:545:9:545:38 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:545:18:545:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:545:18:545:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:545:18:545:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:545:18:545:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:545:18:545:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:545:32:545:33 | s1 | | {EXTERNAL LOCATION} | bool | -| main.rs:545:36:545:37 | s2 | | {EXTERNAL LOCATION} | i64 | -| main.rs:548:54:548:54 | x | | main.rs:548:41:548:51 | T | -| main.rs:548:60:548:60 | y | | main.rs:548:41:548:51 | T | -| main.rs:548:66:553:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:550:13:550:14 | s1 | | {EXTERNAL LOCATION} | u8 | -| main.rs:550:18:550:18 | x | | main.rs:548:41:548:51 | T | -| main.rs:550:18:550:24 | x.fst() | | {EXTERNAL LOCATION} | u8 | -| main.rs:551:13:551:14 | s2 | | {EXTERNAL LOCATION} | i64 | -| main.rs:551:18:551:18 | y | | main.rs:548:41:548:51 | T | -| main.rs:551:18:551:24 | y.snd() | | {EXTERNAL LOCATION} | i64 | -| main.rs:552:9:552:38 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:552:18:552:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:552:18:552:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:552:18:552:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:552:18:552:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:552:18:552:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:552:32:552:33 | s1 | | {EXTERNAL LOCATION} | u8 | -| main.rs:552:36:552:37 | s2 | | {EXTERNAL LOCATION} | i64 | -| main.rs:560:18:560:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:560:18:560:22 | SelfParam | TRef | main.rs:557:5:561:5 | Self [trait TraitWithSelfTp] | -| main.rs:563:40:563:44 | thing | | {EXTERNAL LOCATION} | & | -| main.rs:563:40:563:44 | thing | TRef | main.rs:563:17:563:37 | T | -| main.rs:563:56:565:5 | { ... } | | main.rs:563:14:563:14 | A | -| main.rs:564:9:564:13 | thing | | {EXTERNAL LOCATION} | & | -| main.rs:564:9:564:13 | thing | TRef | main.rs:563:17:563:37 | T | -| main.rs:564:9:564:21 | thing.get_a() | | main.rs:563:14:563:14 | A | -| main.rs:568:44:568:48 | thing | | main.rs:568:24:568:41 | S | -| main.rs:568:61:571:5 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:569:13:569:15 | _ms | | {EXTERNAL LOCATION} | Option | -| main.rs:569:13:569:15 | _ms | T | main.rs:568:24:568:41 | S | -| main.rs:569:19:569:23 | thing | | main.rs:568:24:568:41 | S | -| main.rs:569:19:569:31 | thing.get_a() | | {EXTERNAL LOCATION} | Option | -| main.rs:569:19:569:31 | thing.get_a() | T | main.rs:568:24:568:41 | S | -| main.rs:570:9:570:9 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:570:9:570:9 | 0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:576:55:576:59 | thing | | {EXTERNAL LOCATION} | & | -| main.rs:576:55:576:59 | thing | TRef | main.rs:576:25:576:52 | S | -| main.rs:576:66:579:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:578:13:578:15 | _ms | | {EXTERNAL LOCATION} | Option | -| main.rs:578:13:578:15 | _ms | T | main.rs:576:25:576:52 | S | -| main.rs:578:19:578:30 | get_a(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:578:19:578:30 | get_a(...) | T | main.rs:576:25:576:52 | S | -| main.rs:578:25:578:29 | thing | | {EXTERNAL LOCATION} | & | -| main.rs:578:25:578:29 | thing | TRef | main.rs:576:25:576:52 | S | -| main.rs:587:18:587:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:587:18:587:22 | SelfParam | TRef | main.rs:581:5:583:5 | MyStruct | -| main.rs:587:41:589:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:587:41:589:9 | { ... } | T | main.rs:581:5:583:5 | MyStruct | -| main.rs:588:13:588:48 | Some(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:588:13:588:48 | Some(...) | T | main.rs:581:5:583:5 | MyStruct | -| main.rs:588:18:588:47 | MyStruct {...} | | main.rs:581:5:583:5 | MyStruct | -| main.rs:588:36:588:39 | self | | {EXTERNAL LOCATION} | & | -| main.rs:588:36:588:39 | self | TRef | main.rs:581:5:583:5 | MyStruct | -| main.rs:588:36:588:45 | self.value | | {EXTERNAL LOCATION} | i32 | -| main.rs:594:19:597:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:595:13:595:13 | s | | main.rs:581:5:583:5 | MyStruct | -| main.rs:595:17:595:37 | MyStruct {...} | | main.rs:581:5:583:5 | MyStruct | -| main.rs:595:35:595:35 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:596:13:596:15 | _ms | | {EXTERNAL LOCATION} | Option | -| main.rs:596:13:596:15 | _ms | T | main.rs:581:5:583:5 | MyStruct | -| main.rs:596:19:596:27 | get_a(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:596:19:596:27 | get_a(...) | T | main.rs:581:5:583:5 | MyStruct | -| main.rs:596:25:596:26 | &s | | {EXTERNAL LOCATION} | & | -| main.rs:596:25:596:26 | &s | TRef | main.rs:581:5:583:5 | MyStruct | -| main.rs:596:26:596:26 | s | | main.rs:581:5:583:5 | MyStruct | -| main.rs:612:15:612:18 | SelfParam | | main.rs:611:5:622:5 | Self [trait MyTrait] | -| main.rs:614:15:614:18 | SelfParam | | main.rs:611:5:622:5 | Self [trait MyTrait] | -| main.rs:617:9:619:9 | { ... } | | main.rs:611:19:611:19 | A | -| main.rs:618:13:618:16 | self | | main.rs:611:5:622:5 | Self [trait MyTrait] | -| main.rs:618:13:618:21 | self.m1() | | main.rs:611:19:611:19 | A | -| main.rs:621:18:621:18 | x | | main.rs:611:5:622:5 | Self [trait MyTrait] | -| main.rs:625:15:625:18 | SelfParam | | main.rs:608:5:609:14 | S2 | -| main.rs:625:26:627:9 | { ... } | | main.rs:624:10:624:19 | T | -| main.rs:626:13:626:30 | ...::default(...) | | main.rs:624:10:624:19 | T | -| main.rs:629:18:629:18 | x | | main.rs:608:5:609:14 | S2 | -| main.rs:629:32:631:9 | { ... } | | main.rs:624:10:624:19 | T | -| main.rs:630:13:630:30 | ...::default(...) | | main.rs:624:10:624:19 | T | -| main.rs:635:15:635:18 | SelfParam | | main.rs:606:5:607:14 | S1 | -| main.rs:635:28:637:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:636:13:636:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:639:18:639:18 | x | | main.rs:606:5:607:14 | S1 | -| main.rs:639:34:641:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:640:13:640:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:646:50:646:50 | x | | main.rs:646:26:646:47 | T2 | -| main.rs:646:63:649:5 | { ... } | | main.rs:646:22:646:23 | T1 | -| main.rs:647:9:647:9 | x | | main.rs:646:26:646:47 | T2 | -| main.rs:647:9:647:14 | x.m1() | | main.rs:646:22:646:23 | T1 | -| main.rs:648:9:648:9 | x | | main.rs:646:26:646:47 | T2 | -| main.rs:648:9:648:14 | x.m1() | | main.rs:646:22:646:23 | T1 | -| main.rs:650:52:650:52 | x | | main.rs:650:28:650:49 | T2 | -| main.rs:650:65:654:5 | { ... } | | main.rs:650:24:650:25 | T1 | -| main.rs:651:13:651:13 | y | | main.rs:650:24:650:25 | T1 | -| main.rs:651:17:651:25 | ...::m1(...) | | main.rs:650:24:650:25 | T1 | -| main.rs:651:24:651:24 | x | | main.rs:650:28:650:49 | T2 | -| main.rs:652:9:652:9 | y | | main.rs:650:24:650:25 | T1 | -| main.rs:653:9:653:17 | ...::m1(...) | | main.rs:650:24:650:25 | T1 | -| main.rs:653:16:653:16 | x | | main.rs:650:28:650:49 | T2 | -| main.rs:655:52:655:52 | x | | main.rs:655:28:655:49 | T2 | -| main.rs:655:65:659:5 | { ... } | | main.rs:655:24:655:25 | T1 | -| main.rs:656:13:656:13 | y | | main.rs:655:24:655:25 | T1 | -| main.rs:656:17:656:30 | ...::m1(...) | | main.rs:655:24:655:25 | T1 | -| main.rs:656:29:656:29 | x | | main.rs:655:28:655:49 | T2 | -| main.rs:657:9:657:9 | y | | main.rs:655:24:655:25 | T1 | -| main.rs:658:9:658:22 | ...::m1(...) | | main.rs:655:24:655:25 | T1 | -| main.rs:658:21:658:21 | x | | main.rs:655:28:655:49 | T2 | -| main.rs:660:55:660:55 | x | | main.rs:660:31:660:52 | T2 | -| main.rs:660:68:664:5 | { ... } | | main.rs:660:27:660:28 | T1 | -| main.rs:661:13:661:13 | y | | main.rs:660:27:660:28 | T1 | -| main.rs:661:17:661:28 | ...::assoc(...) | | main.rs:660:27:660:28 | T1 | -| main.rs:661:27:661:27 | x | | main.rs:660:31:660:52 | T2 | -| main.rs:662:9:662:9 | y | | main.rs:660:27:660:28 | T1 | -| main.rs:663:9:663:20 | ...::assoc(...) | | main.rs:660:27:660:28 | T1 | -| main.rs:663:19:663:19 | x | | main.rs:660:31:660:52 | T2 | -| main.rs:665:55:665:55 | x | | main.rs:665:31:665:52 | T2 | -| main.rs:665:68:669:5 | { ... } | | main.rs:665:27:665:28 | T1 | -| main.rs:666:13:666:13 | y | | main.rs:665:27:665:28 | T1 | -| main.rs:666:17:666:33 | ...::assoc(...) | | main.rs:665:27:665:28 | T1 | -| main.rs:666:32:666:32 | x | | main.rs:665:31:665:52 | T2 | -| main.rs:667:9:667:9 | y | | main.rs:665:27:665:28 | T1 | -| main.rs:668:9:668:25 | ...::assoc(...) | | main.rs:665:27:665:28 | T1 | -| main.rs:668:24:668:24 | x | | main.rs:665:31:665:52 | T2 | -| main.rs:673:49:673:49 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:673:49:673:49 | x | T | main.rs:673:32:673:46 | T2 | -| main.rs:673:71:675:5 | { ... } | | main.rs:673:28:673:29 | T1 | -| main.rs:674:9:674:9 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:674:9:674:9 | x | T | main.rs:673:32:673:46 | T2 | -| main.rs:674:9:674:11 | x.a | | main.rs:673:32:673:46 | T2 | -| main.rs:674:9:674:16 | ... .m1() | | main.rs:673:28:673:29 | T1 | -| main.rs:676:51:676:51 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:676:51:676:51 | x | T | main.rs:676:34:676:48 | T2 | -| main.rs:676:73:678:5 | { ... } | | main.rs:676:30:676:31 | T1 | -| main.rs:677:9:677:19 | ...::m1(...) | | main.rs:676:30:676:31 | T1 | -| main.rs:677:16:677:16 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:677:16:677:16 | x | T | main.rs:676:34:676:48 | T2 | -| main.rs:677:16:677:18 | x.a | | main.rs:676:34:676:48 | T2 | -| main.rs:679:51:679:51 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:679:51:679:51 | x | T | main.rs:679:34:679:48 | T2 | -| main.rs:679:73:681:5 | { ... } | | main.rs:679:30:679:31 | T1 | -| main.rs:680:9:680:24 | ...::m1(...) | | main.rs:679:30:679:31 | T1 | -| main.rs:680:21:680:21 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:680:21:680:21 | x | T | main.rs:679:34:679:48 | T2 | -| main.rs:680:21:680:23 | x.a | | main.rs:679:34:679:48 | T2 | -| main.rs:684:15:684:18 | SelfParam | | main.rs:601:5:604:5 | MyThing | -| main.rs:684:15:684:18 | SelfParam | T | main.rs:683:10:683:10 | T | -| main.rs:684:26:686:9 | { ... } | | main.rs:683:10:683:10 | T | -| main.rs:685:13:685:16 | self | | main.rs:601:5:604:5 | MyThing | -| main.rs:685:13:685:16 | self | T | main.rs:683:10:683:10 | T | -| main.rs:685:13:685:18 | self.a | | main.rs:683:10:683:10 | T | -| main.rs:688:18:688:18 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:688:18:688:18 | x | T | main.rs:683:10:683:10 | T | -| main.rs:688:32:690:9 | { ... } | | main.rs:683:10:683:10 | T | -| main.rs:689:13:689:13 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:689:13:689:13 | x | T | main.rs:683:10:683:10 | T | -| main.rs:689:13:689:15 | x.a | | main.rs:683:10:683:10 | T | -| main.rs:695:15:695:18 | SelfParam | | main.rs:693:5:696:5 | Self [trait MyTrait2] | -| main.rs:700:15:700:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:700:15:700:19 | SelfParam | TRef | main.rs:698:5:701:5 | Self [trait MyTrait3] | -| main.rs:703:46:703:46 | x | | main.rs:703:22:703:43 | T | -| main.rs:703:52:703:52 | y | | {EXTERNAL LOCATION} | & | -| main.rs:703:52:703:52 | y | TRef | main.rs:703:22:703:43 | T | -| main.rs:703:59:706:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:704:9:704:9 | x | | main.rs:703:22:703:43 | T | -| main.rs:704:9:704:14 | x.m2() | | {EXTERNAL LOCATION} | () | -| main.rs:705:9:705:9 | y | | {EXTERNAL LOCATION} | & | -| main.rs:705:9:705:9 | y | TRef | main.rs:703:22:703:43 | T | -| main.rs:705:9:705:14 | y.m2() | | {EXTERNAL LOCATION} | () | -| main.rs:708:16:766:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:709:13:709:13 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:709:13:709:13 | x | T | main.rs:606:5:607:14 | S1 | -| main.rs:709:17:709:33 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:709:17:709:33 | MyThing {...} | T | main.rs:606:5:607:14 | S1 | -| main.rs:709:30:709:31 | S1 | | main.rs:606:5:607:14 | S1 | -| main.rs:710:13:710:13 | y | | main.rs:601:5:604:5 | MyThing | -| main.rs:710:13:710:13 | y | T | main.rs:608:5:609:14 | S2 | -| main.rs:710:17:710:33 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:710:17:710:33 | MyThing {...} | T | main.rs:608:5:609:14 | S2 | -| main.rs:710:30:710:31 | S2 | | main.rs:608:5:609:14 | S2 | -| main.rs:712:9:712:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:712:18:712:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:712:18:712:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:712:18:712:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:712:18:712:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:712:18:712:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:712:26:712:26 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:712:26:712:26 | x | T | main.rs:606:5:607:14 | S1 | -| main.rs:712:26:712:31 | x.m1() | | main.rs:606:5:607:14 | S1 | -| main.rs:713:9:713:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:713:18:713:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:713:18:713:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:713:18:713:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:713:18:713:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:713:18:713:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:713:26:713:26 | y | | main.rs:601:5:604:5 | MyThing | -| main.rs:713:26:713:26 | y | T | main.rs:608:5:609:14 | S2 | -| main.rs:713:26:713:31 | y.m1() | | main.rs:608:5:609:14 | S2 | -| main.rs:715:13:715:13 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:715:13:715:13 | x | T | main.rs:606:5:607:14 | S1 | -| main.rs:715:17:715:33 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:715:17:715:33 | MyThing {...} | T | main.rs:606:5:607:14 | S1 | -| main.rs:715:30:715:31 | S1 | | main.rs:606:5:607:14 | S1 | -| main.rs:716:13:716:13 | y | | main.rs:601:5:604:5 | MyThing | -| main.rs:716:13:716:13 | y | T | main.rs:608:5:609:14 | S2 | -| main.rs:716:17:716:33 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:716:17:716:33 | MyThing {...} | T | main.rs:608:5:609:14 | S2 | -| main.rs:716:30:716:31 | S2 | | main.rs:608:5:609:14 | S2 | -| main.rs:718:9:718:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:718:18:718:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:718:18:718:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:718:18:718:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:718:18:718:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:718:18:718:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:718:26:718:26 | x | | main.rs:601:5:604:5 | MyThing | -| main.rs:718:26:718:26 | x | T | main.rs:606:5:607:14 | S1 | -| main.rs:718:26:718:31 | x.m2() | | main.rs:606:5:607:14 | S1 | -| main.rs:719:9:719:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:719:18:719:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:719:18:719:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:719:18:719:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:719:18:719:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:719:18:719:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:719:26:719:26 | y | | main.rs:601:5:604:5 | MyThing | -| main.rs:719:26:719:26 | y | T | main.rs:608:5:609:14 | S2 | -| main.rs:719:26:719:31 | y.m2() | | main.rs:608:5:609:14 | S2 | -| main.rs:721:13:721:14 | x2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:721:13:721:14 | x2 | T | main.rs:606:5:607:14 | S1 | -| main.rs:721:18:721:34 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:721:18:721:34 | MyThing {...} | T | main.rs:606:5:607:14 | S1 | -| main.rs:721:31:721:32 | S1 | | main.rs:606:5:607:14 | S1 | -| main.rs:722:13:722:14 | y2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:722:13:722:14 | y2 | T | main.rs:608:5:609:14 | S2 | -| main.rs:722:18:722:34 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:722:18:722:34 | MyThing {...} | T | main.rs:608:5:609:14 | S2 | -| main.rs:722:31:722:32 | S2 | | main.rs:608:5:609:14 | S2 | -| main.rs:724:13:724:13 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:724:17:724:33 | call_trait_m1(...) | | main.rs:606:5:607:14 | S1 | -| main.rs:724:31:724:32 | x2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:724:31:724:32 | x2 | T | main.rs:606:5:607:14 | S1 | -| main.rs:725:9:725:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:725:18:725:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:725:18:725:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:725:18:725:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:725:18:725:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:725:18:725:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:725:26:725:26 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:726:13:726:13 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:726:17:726:35 | call_trait_m1_2(...) | | main.rs:606:5:607:14 | S1 | -| main.rs:726:33:726:34 | x2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:726:33:726:34 | x2 | T | main.rs:606:5:607:14 | S1 | -| main.rs:727:9:727:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:727:18:727:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:727:18:727:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:727:18:727:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:727:18:727:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:727:18:727:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:727:26:727:26 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:728:13:728:13 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:728:17:728:35 | call_trait_m1_3(...) | | main.rs:606:5:607:14 | S1 | -| main.rs:728:33:728:34 | x2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:728:33:728:34 | x2 | T | main.rs:606:5:607:14 | S1 | -| main.rs:729:9:729:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:450:13:450:13 | x | | main.rs:249:5:250:14 | S1 | +| main.rs:450:17:450:26 | get_fst(...) | | main.rs:249:5:250:14 | S1 | +| main.rs:450:25:450:25 | a | | main.rs:243:5:247:5 | MyPair | +| main.rs:450:25:450:25 | a | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:450:25:450:25 | a | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:451:9:451:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:451:18:451:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:451:18:451:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:451:18:451:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:451:18:451:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:451:18:451:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:451:26:451:26 | x | | main.rs:249:5:250:14 | S1 | +| main.rs:452:13:452:13 | y | | main.rs:249:5:250:14 | S1 | +| main.rs:452:17:452:26 | get_snd(...) | | main.rs:249:5:250:14 | S1 | +| main.rs:452:25:452:25 | a | | main.rs:243:5:247:5 | MyPair | +| main.rs:452:25:452:25 | a | P1 | main.rs:249:5:250:14 | S1 | +| main.rs:452:25:452:25 | a | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:453:9:453:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:453:18:453:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:453:18:453:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:453:18:453:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:453:18:453:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:453:18:453:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:453:26:453:26 | y | | main.rs:249:5:250:14 | S1 | +| main.rs:456:13:456:13 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:456:13:456:13 | b | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:456:13:456:13 | b | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:456:17:456:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:456:17:456:41 | MyPair {...} | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:456:17:456:41 | MyPair {...} | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:456:30:456:31 | S2 | | main.rs:251:5:252:14 | S2 | +| main.rs:456:38:456:39 | S1 | | main.rs:249:5:250:14 | S1 | +| main.rs:457:13:457:13 | x | | main.rs:249:5:250:14 | S1 | +| main.rs:457:17:457:26 | get_fst(...) | | main.rs:249:5:250:14 | S1 | +| main.rs:457:25:457:25 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:457:25:457:25 | b | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:457:25:457:25 | b | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:458:9:458:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:458:18:458:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:458:18:458:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:458:18:458:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:458:18:458:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:458:18:458:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:458:26:458:26 | x | | main.rs:249:5:250:14 | S1 | +| main.rs:459:13:459:13 | y | | main.rs:251:5:252:14 | S2 | +| main.rs:459:17:459:26 | get_snd(...) | | main.rs:251:5:252:14 | S2 | +| main.rs:459:25:459:25 | b | | main.rs:243:5:247:5 | MyPair | +| main.rs:459:25:459:25 | b | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:459:25:459:25 | b | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:460:9:460:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:460:18:460:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:460:18:460:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:460:18:460:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:460:18:460:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:460:18:460:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:460:26:460:26 | y | | main.rs:251:5:252:14 | S2 | +| main.rs:462:13:462:13 | c | | main.rs:243:5:247:5 | MyPair | +| main.rs:462:13:462:13 | c | P1 | main.rs:253:5:254:14 | S3 | +| main.rs:462:13:462:13 | c | P2 | main.rs:243:5:247:5 | MyPair | +| main.rs:462:13:462:13 | c | P2.P1 | main.rs:251:5:252:14 | S2 | +| main.rs:462:13:462:13 | c | P2.P2 | main.rs:249:5:250:14 | S1 | +| main.rs:462:17:465:9 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:462:17:465:9 | MyPair {...} | P1 | main.rs:253:5:254:14 | S3 | +| main.rs:462:17:465:9 | MyPair {...} | P2 | main.rs:243:5:247:5 | MyPair | +| main.rs:462:17:465:9 | MyPair {...} | P2.P1 | main.rs:251:5:252:14 | S2 | +| main.rs:462:17:465:9 | MyPair {...} | P2.P2 | main.rs:249:5:250:14 | S1 | +| main.rs:463:17:463:18 | S3 | | main.rs:253:5:254:14 | S3 | +| main.rs:464:17:464:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | +| main.rs:464:17:464:41 | MyPair {...} | P1 | main.rs:251:5:252:14 | S2 | +| main.rs:464:17:464:41 | MyPair {...} | P2 | main.rs:249:5:250:14 | S1 | +| main.rs:464:30:464:31 | S2 | | main.rs:251:5:252:14 | S2 | +| main.rs:464:38:464:39 | S1 | | main.rs:249:5:250:14 | S1 | +| main.rs:466:13:466:13 | x | | main.rs:249:5:250:14 | S1 | +| main.rs:466:17:466:30 | get_snd_fst(...) | | main.rs:249:5:250:14 | S1 | +| main.rs:466:29:466:29 | c | | main.rs:243:5:247:5 | MyPair | +| main.rs:466:29:466:29 | c | P1 | main.rs:253:5:254:14 | S3 | +| main.rs:466:29:466:29 | c | P2 | main.rs:243:5:247:5 | MyPair | +| main.rs:466:29:466:29 | c | P2.P1 | main.rs:251:5:252:14 | S2 | +| main.rs:466:29:466:29 | c | P2.P2 | main.rs:249:5:250:14 | S1 | +| main.rs:468:13:468:17 | thing | | main.rs:238:5:241:5 | MyThing | +| main.rs:468:13:468:17 | thing | A | main.rs:249:5:250:14 | S1 | +| main.rs:468:21:468:37 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:468:21:468:37 | MyThing {...} | A | main.rs:249:5:250:14 | S1 | +| main.rs:468:34:468:35 | S1 | | main.rs:249:5:250:14 | S1 | +| main.rs:469:13:469:13 | i | | main.rs:249:5:250:14 | S1 | +| main.rs:469:17:469:21 | thing | | main.rs:238:5:241:5 | MyThing | +| main.rs:469:17:469:21 | thing | A | main.rs:249:5:250:14 | S1 | +| main.rs:469:17:469:34 | thing.convert_to() | | main.rs:249:5:250:14 | S1 | +| main.rs:470:28:470:32 | thing | | main.rs:238:5:241:5 | MyThing | +| main.rs:470:28:470:32 | thing | A | main.rs:249:5:250:14 | S1 | +| main.rs:472:41:472:57 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | +| main.rs:472:41:472:57 | MyThing {...} | A | main.rs:251:5:252:14 | S2 | +| main.rs:472:54:472:55 | S2 | | main.rs:251:5:252:14 | S2 | +| main.rs:491:19:491:22 | SelfParam | | main.rs:489:5:492:5 | Self [trait FirstTrait] | +| main.rs:496:19:496:22 | SelfParam | | main.rs:494:5:497:5 | Self [trait SecondTrait] | +| main.rs:499:64:499:64 | x | | main.rs:499:45:499:61 | T | +| main.rs:499:70:503:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:501:13:501:14 | s1 | | main.rs:499:35:499:42 | I | +| main.rs:501:18:501:18 | x | | main.rs:499:45:499:61 | T | +| main.rs:501:18:501:27 | x.method() | | main.rs:499:35:499:42 | I | +| main.rs:502:9:502:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:502:18:502:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:502:18:502:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:502:18:502:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:502:18:502:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:502:18:502:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:502:26:502:27 | s1 | | main.rs:499:35:499:42 | I | +| main.rs:505:65:505:65 | x | | main.rs:505:46:505:62 | T | +| main.rs:505:71:509:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:507:13:507:14 | s2 | | main.rs:505:36:505:43 | I | +| main.rs:507:18:507:18 | x | | main.rs:505:46:505:62 | T | +| main.rs:507:18:507:27 | x.method() | | main.rs:505:36:505:43 | I | +| main.rs:508:9:508:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:508:18:508:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:508:18:508:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:508:18:508:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:508:18:508:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:508:18:508:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:508:26:508:27 | s2 | | main.rs:505:36:505:43 | I | +| main.rs:511:49:511:49 | x | | main.rs:511:30:511:46 | T | +| main.rs:511:55:514:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:512:13:512:13 | s | | main.rs:481:5:482:14 | S1 | +| main.rs:512:17:512:17 | x | | main.rs:511:30:511:46 | T | +| main.rs:512:17:512:26 | x.method() | | main.rs:481:5:482:14 | S1 | +| main.rs:513:9:513:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:513:18:513:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:513:18:513:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:513:18:513:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:513:18:513:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:513:18:513:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:513:26:513:26 | s | | main.rs:481:5:482:14 | S1 | +| main.rs:516:53:516:53 | x | | main.rs:516:34:516:50 | T | +| main.rs:516:59:519:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:517:13:517:13 | s | | main.rs:481:5:482:14 | S1 | +| main.rs:517:17:517:17 | x | | main.rs:516:34:516:50 | T | +| main.rs:517:17:517:26 | x.method() | | main.rs:481:5:482:14 | S1 | +| main.rs:518:9:518:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:518:18:518:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:518:18:518:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:518:18:518:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:518:18:518:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:518:18:518:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:518:26:518:26 | s | | main.rs:481:5:482:14 | S1 | +| main.rs:521:43:521:43 | x | | main.rs:521:40:521:40 | T | +| main.rs:524:5:527:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:525:13:525:13 | s | | main.rs:481:5:482:14 | S1 | +| main.rs:525:17:525:17 | x | | main.rs:521:40:521:40 | T | +| main.rs:525:17:525:26 | x.method() | | main.rs:481:5:482:14 | S1 | +| main.rs:526:9:526:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:526:18:526:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:526:18:526:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:526:18:526:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:526:18:526:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:526:18:526:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:526:26:526:26 | s | | main.rs:481:5:482:14 | S1 | +| main.rs:530:16:530:19 | SelfParam | | main.rs:529:5:533:5 | Self [trait Pair] | +| main.rs:532:16:532:19 | SelfParam | | main.rs:529:5:533:5 | Self [trait Pair] | +| main.rs:535:53:535:53 | x | | main.rs:535:50:535:50 | T | +| main.rs:535:59:535:59 | y | | main.rs:535:50:535:50 | T | +| main.rs:539:5:542:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:540:13:540:13 | _ | | main.rs:481:5:482:14 | S1 | +| main.rs:540:17:540:17 | x | | main.rs:535:50:535:50 | T | +| main.rs:540:17:540:23 | x.fst() | | main.rs:481:5:482:14 | S1 | +| main.rs:541:13:541:13 | _ | | main.rs:481:5:482:14 | S1 | +| main.rs:541:17:541:17 | y | | main.rs:535:50:535:50 | T | +| main.rs:541:17:541:26 | y.method() | | main.rs:481:5:482:14 | S1 | +| main.rs:544:58:544:58 | x | | main.rs:544:41:544:55 | T | +| main.rs:544:64:544:64 | y | | main.rs:544:41:544:55 | T | +| main.rs:544:70:549:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:546:13:546:14 | s1 | | main.rs:481:5:482:14 | S1 | +| main.rs:546:18:546:18 | x | | main.rs:544:41:544:55 | T | +| main.rs:546:18:546:24 | x.fst() | | main.rs:481:5:482:14 | S1 | +| main.rs:547:13:547:14 | s2 | | main.rs:484:5:485:14 | S2 | +| main.rs:547:18:547:18 | y | | main.rs:544:41:544:55 | T | +| main.rs:547:18:547:24 | y.snd() | | main.rs:484:5:485:14 | S2 | +| main.rs:548:9:548:38 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:548:18:548:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:548:18:548:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:548:18:548:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:548:18:548:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:548:18:548:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:548:32:548:33 | s1 | | main.rs:481:5:482:14 | S1 | +| main.rs:548:36:548:37 | s2 | | main.rs:484:5:485:14 | S2 | +| main.rs:551:69:551:69 | x | | main.rs:551:52:551:66 | T | +| main.rs:551:75:551:75 | y | | main.rs:551:52:551:66 | T | +| main.rs:551:81:556:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:553:13:553:14 | s1 | | main.rs:481:5:482:14 | S1 | +| main.rs:553:18:553:18 | x | | main.rs:551:52:551:66 | T | +| main.rs:553:18:553:24 | x.fst() | | main.rs:481:5:482:14 | S1 | +| main.rs:554:13:554:14 | s2 | | main.rs:551:41:551:49 | T2 | +| main.rs:554:18:554:18 | y | | main.rs:551:52:551:66 | T | +| main.rs:554:18:554:24 | y.snd() | | main.rs:551:41:551:49 | T2 | +| main.rs:555:9:555:38 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:555:18:555:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:555:18:555:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:555:18:555:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:555:18:555:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:555:18:555:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:555:32:555:33 | s1 | | main.rs:481:5:482:14 | S1 | +| main.rs:555:36:555:37 | s2 | | main.rs:551:41:551:49 | T2 | +| main.rs:558:50:558:50 | x | | main.rs:558:41:558:47 | T | +| main.rs:558:56:558:56 | y | | main.rs:558:41:558:47 | T | +| main.rs:558:62:563:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:560:13:560:14 | s1 | | {EXTERNAL LOCATION} | bool | +| main.rs:560:18:560:18 | x | | main.rs:558:41:558:47 | T | +| main.rs:560:18:560:24 | x.fst() | | {EXTERNAL LOCATION} | bool | +| main.rs:561:13:561:14 | s2 | | {EXTERNAL LOCATION} | i64 | +| main.rs:561:18:561:18 | y | | main.rs:558:41:558:47 | T | +| main.rs:561:18:561:24 | y.snd() | | {EXTERNAL LOCATION} | i64 | +| main.rs:562:9:562:38 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:562:18:562:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:562:18:562:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:562:18:562:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:562:18:562:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:562:18:562:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:562:32:562:33 | s1 | | {EXTERNAL LOCATION} | bool | +| main.rs:562:36:562:37 | s2 | | {EXTERNAL LOCATION} | i64 | +| main.rs:565:54:565:54 | x | | main.rs:565:41:565:51 | T | +| main.rs:565:60:565:60 | y | | main.rs:565:41:565:51 | T | +| main.rs:565:66:570:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:567:13:567:14 | s1 | | {EXTERNAL LOCATION} | u8 | +| main.rs:567:18:567:18 | x | | main.rs:565:41:565:51 | T | +| main.rs:567:18:567:24 | x.fst() | | {EXTERNAL LOCATION} | u8 | +| main.rs:568:13:568:14 | s2 | | {EXTERNAL LOCATION} | i64 | +| main.rs:568:18:568:18 | y | | main.rs:565:41:565:51 | T | +| main.rs:568:18:568:24 | y.snd() | | {EXTERNAL LOCATION} | i64 | +| main.rs:569:9:569:38 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:569:18:569:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:569:18:569:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:569:18:569:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:569:18:569:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:569:18:569:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:569:32:569:33 | s1 | | {EXTERNAL LOCATION} | u8 | +| main.rs:569:36:569:37 | s2 | | {EXTERNAL LOCATION} | i64 | +| main.rs:577:18:577:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:577:18:577:22 | SelfParam | TRef | main.rs:574:5:578:5 | Self [trait TraitWithSelfTp] | +| main.rs:580:40:580:44 | thing | | {EXTERNAL LOCATION} | & | +| main.rs:580:40:580:44 | thing | TRef | main.rs:580:17:580:37 | T | +| main.rs:580:56:582:5 | { ... } | | main.rs:580:14:580:14 | A | +| main.rs:581:9:581:13 | thing | | {EXTERNAL LOCATION} | & | +| main.rs:581:9:581:13 | thing | TRef | main.rs:580:17:580:37 | T | +| main.rs:581:9:581:21 | thing.get_a() | | main.rs:580:14:580:14 | A | +| main.rs:585:44:585:48 | thing | | main.rs:585:24:585:41 | S | +| main.rs:585:61:588:5 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:586:13:586:15 | _ms | | {EXTERNAL LOCATION} | Option | +| main.rs:586:13:586:15 | _ms | T | main.rs:585:24:585:41 | S | +| main.rs:586:19:586:23 | thing | | main.rs:585:24:585:41 | S | +| main.rs:586:19:586:31 | thing.get_a() | | {EXTERNAL LOCATION} | Option | +| main.rs:586:19:586:31 | thing.get_a() | T | main.rs:585:24:585:41 | S | +| main.rs:587:9:587:9 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:587:9:587:9 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:593:55:593:59 | thing | | {EXTERNAL LOCATION} | & | +| main.rs:593:55:593:59 | thing | TRef | main.rs:593:25:593:52 | S | +| main.rs:593:66:596:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:595:13:595:15 | _ms | | {EXTERNAL LOCATION} | Option | +| main.rs:595:13:595:15 | _ms | T | main.rs:593:25:593:52 | S | +| main.rs:595:19:595:30 | get_a(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:595:19:595:30 | get_a(...) | T | main.rs:593:25:593:52 | S | +| main.rs:595:25:595:29 | thing | | {EXTERNAL LOCATION} | & | +| main.rs:595:25:595:29 | thing | TRef | main.rs:593:25:593:52 | S | +| main.rs:604:18:604:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:604:18:604:22 | SelfParam | TRef | main.rs:598:5:600:5 | MyStruct | +| main.rs:604:41:606:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:604:41:606:9 | { ... } | T | main.rs:598:5:600:5 | MyStruct | +| main.rs:605:13:605:48 | Some(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:605:13:605:48 | Some(...) | T | main.rs:598:5:600:5 | MyStruct | +| main.rs:605:18:605:47 | MyStruct {...} | | main.rs:598:5:600:5 | MyStruct | +| main.rs:605:36:605:39 | self | | {EXTERNAL LOCATION} | & | +| main.rs:605:36:605:39 | self | TRef | main.rs:598:5:600:5 | MyStruct | +| main.rs:605:36:605:45 | self.value | | {EXTERNAL LOCATION} | i32 | +| main.rs:611:19:614:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:612:13:612:13 | s | | main.rs:598:5:600:5 | MyStruct | +| main.rs:612:17:612:37 | MyStruct {...} | | main.rs:598:5:600:5 | MyStruct | +| main.rs:612:35:612:35 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:613:13:613:15 | _ms | | {EXTERNAL LOCATION} | Option | +| main.rs:613:13:613:15 | _ms | T | main.rs:598:5:600:5 | MyStruct | +| main.rs:613:19:613:27 | get_a(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:613:19:613:27 | get_a(...) | T | main.rs:598:5:600:5 | MyStruct | +| main.rs:613:25:613:26 | &s | | {EXTERNAL LOCATION} | & | +| main.rs:613:25:613:26 | &s | TRef | main.rs:598:5:600:5 | MyStruct | +| main.rs:613:26:613:26 | s | | main.rs:598:5:600:5 | MyStruct | +| main.rs:629:15:629:18 | SelfParam | | main.rs:628:5:639:5 | Self [trait MyTrait] | +| main.rs:631:15:631:18 | SelfParam | | main.rs:628:5:639:5 | Self [trait MyTrait] | +| main.rs:634:9:636:9 | { ... } | | main.rs:628:19:628:19 | A | +| main.rs:635:13:635:16 | self | | main.rs:628:5:639:5 | Self [trait MyTrait] | +| main.rs:635:13:635:21 | self.m1() | | main.rs:628:19:628:19 | A | +| main.rs:638:18:638:18 | x | | main.rs:628:5:639:5 | Self [trait MyTrait] | +| main.rs:642:15:642:18 | SelfParam | | main.rs:625:5:626:14 | S2 | +| main.rs:642:26:644:9 | { ... } | | main.rs:641:10:641:19 | T | +| main.rs:643:13:643:30 | ...::default(...) | | main.rs:641:10:641:19 | T | +| main.rs:646:18:646:18 | x | | main.rs:625:5:626:14 | S2 | +| main.rs:646:32:648:9 | { ... } | | main.rs:641:10:641:19 | T | +| main.rs:647:13:647:30 | ...::default(...) | | main.rs:641:10:641:19 | T | +| main.rs:652:15:652:18 | SelfParam | | main.rs:623:5:624:14 | S1 | +| main.rs:652:28:654:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:653:13:653:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:656:18:656:18 | x | | main.rs:623:5:624:14 | S1 | +| main.rs:656:34:658:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:657:13:657:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:663:50:663:50 | x | | main.rs:663:26:663:47 | T2 | +| main.rs:663:63:666:5 | { ... } | | main.rs:663:22:663:23 | T1 | +| main.rs:664:9:664:9 | x | | main.rs:663:26:663:47 | T2 | +| main.rs:664:9:664:14 | x.m1() | | main.rs:663:22:663:23 | T1 | +| main.rs:665:9:665:9 | x | | main.rs:663:26:663:47 | T2 | +| main.rs:665:9:665:14 | x.m1() | | main.rs:663:22:663:23 | T1 | +| main.rs:667:52:667:52 | x | | main.rs:667:28:667:49 | T2 | +| main.rs:667:65:671:5 | { ... } | | main.rs:667:24:667:25 | T1 | +| main.rs:668:13:668:13 | y | | main.rs:667:24:667:25 | T1 | +| main.rs:668:17:668:25 | ...::m1(...) | | main.rs:667:24:667:25 | T1 | +| main.rs:668:24:668:24 | x | | main.rs:667:28:667:49 | T2 | +| main.rs:669:9:669:9 | y | | main.rs:667:24:667:25 | T1 | +| main.rs:670:9:670:17 | ...::m1(...) | | main.rs:667:24:667:25 | T1 | +| main.rs:670:16:670:16 | x | | main.rs:667:28:667:49 | T2 | +| main.rs:672:52:672:52 | x | | main.rs:672:28:672:49 | T2 | +| main.rs:672:65:676:5 | { ... } | | main.rs:672:24:672:25 | T1 | +| main.rs:673:13:673:13 | y | | main.rs:672:24:672:25 | T1 | +| main.rs:673:17:673:30 | ...::m1(...) | | main.rs:672:24:672:25 | T1 | +| main.rs:673:29:673:29 | x | | main.rs:672:28:672:49 | T2 | +| main.rs:674:9:674:9 | y | | main.rs:672:24:672:25 | T1 | +| main.rs:675:9:675:22 | ...::m1(...) | | main.rs:672:24:672:25 | T1 | +| main.rs:675:21:675:21 | x | | main.rs:672:28:672:49 | T2 | +| main.rs:677:55:677:55 | x | | main.rs:677:31:677:52 | T2 | +| main.rs:677:68:681:5 | { ... } | | main.rs:677:27:677:28 | T1 | +| main.rs:678:13:678:13 | y | | main.rs:677:27:677:28 | T1 | +| main.rs:678:17:678:28 | ...::assoc(...) | | main.rs:677:27:677:28 | T1 | +| main.rs:678:27:678:27 | x | | main.rs:677:31:677:52 | T2 | +| main.rs:679:9:679:9 | y | | main.rs:677:27:677:28 | T1 | +| main.rs:680:9:680:20 | ...::assoc(...) | | main.rs:677:27:677:28 | T1 | +| main.rs:680:19:680:19 | x | | main.rs:677:31:677:52 | T2 | +| main.rs:682:55:682:55 | x | | main.rs:682:31:682:52 | T2 | +| main.rs:682:68:686:5 | { ... } | | main.rs:682:27:682:28 | T1 | +| main.rs:683:13:683:13 | y | | main.rs:682:27:682:28 | T1 | +| main.rs:683:17:683:33 | ...::assoc(...) | | main.rs:682:27:682:28 | T1 | +| main.rs:683:32:683:32 | x | | main.rs:682:31:682:52 | T2 | +| main.rs:684:9:684:9 | y | | main.rs:682:27:682:28 | T1 | +| main.rs:685:9:685:25 | ...::assoc(...) | | main.rs:682:27:682:28 | T1 | +| main.rs:685:24:685:24 | x | | main.rs:682:31:682:52 | T2 | +| main.rs:690:49:690:49 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:690:49:690:49 | x | T | main.rs:690:32:690:46 | T2 | +| main.rs:690:71:692:5 | { ... } | | main.rs:690:28:690:29 | T1 | +| main.rs:691:9:691:9 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:691:9:691:9 | x | T | main.rs:690:32:690:46 | T2 | +| main.rs:691:9:691:11 | x.a | | main.rs:690:32:690:46 | T2 | +| main.rs:691:9:691:16 | ... .m1() | | main.rs:690:28:690:29 | T1 | +| main.rs:693:51:693:51 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:693:51:693:51 | x | T | main.rs:693:34:693:48 | T2 | +| main.rs:693:73:695:5 | { ... } | | main.rs:693:30:693:31 | T1 | +| main.rs:694:9:694:19 | ...::m1(...) | | main.rs:693:30:693:31 | T1 | +| main.rs:694:16:694:16 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:694:16:694:16 | x | T | main.rs:693:34:693:48 | T2 | +| main.rs:694:16:694:18 | x.a | | main.rs:693:34:693:48 | T2 | +| main.rs:696:51:696:51 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:696:51:696:51 | x | T | main.rs:696:34:696:48 | T2 | +| main.rs:696:73:698:5 | { ... } | | main.rs:696:30:696:31 | T1 | +| main.rs:697:9:697:24 | ...::m1(...) | | main.rs:696:30:696:31 | T1 | +| main.rs:697:21:697:21 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:697:21:697:21 | x | T | main.rs:696:34:696:48 | T2 | +| main.rs:697:21:697:23 | x.a | | main.rs:696:34:696:48 | T2 | +| main.rs:701:15:701:18 | SelfParam | | main.rs:618:5:621:5 | MyThing | +| main.rs:701:15:701:18 | SelfParam | T | main.rs:700:10:700:10 | T | +| main.rs:701:26:703:9 | { ... } | | main.rs:700:10:700:10 | T | +| main.rs:702:13:702:16 | self | | main.rs:618:5:621:5 | MyThing | +| main.rs:702:13:702:16 | self | T | main.rs:700:10:700:10 | T | +| main.rs:702:13:702:18 | self.a | | main.rs:700:10:700:10 | T | +| main.rs:705:18:705:18 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:705:18:705:18 | x | T | main.rs:700:10:700:10 | T | +| main.rs:705:32:707:9 | { ... } | | main.rs:700:10:700:10 | T | +| main.rs:706:13:706:13 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:706:13:706:13 | x | T | main.rs:700:10:700:10 | T | +| main.rs:706:13:706:15 | x.a | | main.rs:700:10:700:10 | T | +| main.rs:712:15:712:18 | SelfParam | | main.rs:710:5:713:5 | Self [trait MyTrait2] | +| main.rs:717:15:717:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:717:15:717:19 | SelfParam | TRef | main.rs:715:5:718:5 | Self [trait MyTrait3] | +| main.rs:720:46:720:46 | x | | main.rs:720:22:720:43 | T | +| main.rs:720:52:720:52 | y | | {EXTERNAL LOCATION} | & | +| main.rs:720:52:720:52 | y | TRef | main.rs:720:22:720:43 | T | +| main.rs:720:59:723:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:721:9:721:9 | x | | main.rs:720:22:720:43 | T | +| main.rs:721:9:721:14 | x.m2() | | {EXTERNAL LOCATION} | () | +| main.rs:722:9:722:9 | y | | {EXTERNAL LOCATION} | & | +| main.rs:722:9:722:9 | y | TRef | main.rs:720:22:720:43 | T | +| main.rs:722:9:722:14 | y.m2() | | {EXTERNAL LOCATION} | () | +| main.rs:725:16:783:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:726:13:726:13 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:726:13:726:13 | x | T | main.rs:623:5:624:14 | S1 | +| main.rs:726:17:726:33 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:726:17:726:33 | MyThing {...} | T | main.rs:623:5:624:14 | S1 | +| main.rs:726:30:726:31 | S1 | | main.rs:623:5:624:14 | S1 | +| main.rs:727:13:727:13 | y | | main.rs:618:5:621:5 | MyThing | +| main.rs:727:13:727:13 | y | T | main.rs:625:5:626:14 | S2 | +| main.rs:727:17:727:33 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:727:17:727:33 | MyThing {...} | T | main.rs:625:5:626:14 | S2 | +| main.rs:727:30:727:31 | S2 | | main.rs:625:5:626:14 | S2 | +| main.rs:729:9:729:32 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:729:18:729:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:729:18:729:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:729:18:729:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:729:18:729:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:729:18:729:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:729:26:729:26 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:730:13:730:13 | a | | main.rs:608:5:609:14 | S2 | -| main.rs:730:17:730:33 | call_trait_m1(...) | | main.rs:608:5:609:14 | S2 | -| main.rs:730:31:730:32 | y2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:730:31:730:32 | y2 | T | main.rs:608:5:609:14 | S2 | -| main.rs:731:9:731:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:731:18:731:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:731:18:731:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:731:18:731:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:731:18:731:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:731:18:731:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:731:26:731:26 | a | | main.rs:608:5:609:14 | S2 | -| main.rs:732:13:732:13 | a | | main.rs:608:5:609:14 | S2 | -| main.rs:732:17:732:35 | call_trait_m1_2(...) | | main.rs:608:5:609:14 | S2 | -| main.rs:732:33:732:34 | y2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:732:33:732:34 | y2 | T | main.rs:608:5:609:14 | S2 | -| main.rs:733:9:733:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:733:18:733:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:733:18:733:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:733:18:733:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:733:18:733:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:733:18:733:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:733:26:733:26 | a | | main.rs:608:5:609:14 | S2 | -| main.rs:734:13:734:13 | a | | main.rs:608:5:609:14 | S2 | -| main.rs:734:17:734:35 | call_trait_m1_3(...) | | main.rs:608:5:609:14 | S2 | -| main.rs:734:33:734:34 | y2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:734:33:734:34 | y2 | T | main.rs:608:5:609:14 | S2 | -| main.rs:735:9:735:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:729:18:729:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:729:18:729:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:729:18:729:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:729:26:729:26 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:729:26:729:26 | x | T | main.rs:623:5:624:14 | S1 | +| main.rs:729:26:729:31 | x.m1() | | main.rs:623:5:624:14 | S1 | +| main.rs:730:9:730:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:730:18:730:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:730:18:730:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:730:18:730:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:730:18:730:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:730:18:730:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:730:26:730:26 | y | | main.rs:618:5:621:5 | MyThing | +| main.rs:730:26:730:26 | y | T | main.rs:625:5:626:14 | S2 | +| main.rs:730:26:730:31 | y.m1() | | main.rs:625:5:626:14 | S2 | +| main.rs:732:13:732:13 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:732:13:732:13 | x | T | main.rs:623:5:624:14 | S1 | +| main.rs:732:17:732:33 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:732:17:732:33 | MyThing {...} | T | main.rs:623:5:624:14 | S1 | +| main.rs:732:30:732:31 | S1 | | main.rs:623:5:624:14 | S1 | +| main.rs:733:13:733:13 | y | | main.rs:618:5:621:5 | MyThing | +| main.rs:733:13:733:13 | y | T | main.rs:625:5:626:14 | S2 | +| main.rs:733:17:733:33 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:733:17:733:33 | MyThing {...} | T | main.rs:625:5:626:14 | S2 | +| main.rs:733:30:733:31 | S2 | | main.rs:625:5:626:14 | S2 | +| main.rs:735:9:735:32 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:735:18:735:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:735:18:735:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:735:18:735:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:735:18:735:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:735:18:735:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:735:26:735:26 | a | | main.rs:608:5:609:14 | S2 | -| main.rs:736:13:736:13 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:736:17:736:38 | call_trait_assoc_1(...) | | main.rs:606:5:607:14 | S1 | -| main.rs:736:36:736:37 | x2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:736:36:736:37 | x2 | T | main.rs:606:5:607:14 | S1 | -| main.rs:737:9:737:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:737:18:737:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:737:18:737:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:737:18:737:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:737:18:737:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:737:18:737:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:737:26:737:26 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:738:13:738:13 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:738:17:738:38 | call_trait_assoc_2(...) | | main.rs:606:5:607:14 | S1 | -| main.rs:738:36:738:37 | x2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:738:36:738:37 | x2 | T | main.rs:606:5:607:14 | S1 | -| main.rs:739:9:739:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:739:18:739:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:739:18:739:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:739:18:739:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:739:18:739:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:739:18:739:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:739:26:739:26 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:740:13:740:13 | a | | main.rs:608:5:609:14 | S2 | -| main.rs:740:17:740:38 | call_trait_assoc_1(...) | | main.rs:608:5:609:14 | S2 | -| main.rs:740:36:740:37 | y2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:740:36:740:37 | y2 | T | main.rs:608:5:609:14 | S2 | -| main.rs:741:9:741:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:741:18:741:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:741:18:741:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:741:18:741:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:741:18:741:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:741:18:741:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:741:26:741:26 | a | | main.rs:608:5:609:14 | S2 | -| main.rs:742:13:742:13 | a | | main.rs:608:5:609:14 | S2 | -| main.rs:742:17:742:38 | call_trait_assoc_2(...) | | main.rs:608:5:609:14 | S2 | -| main.rs:742:36:742:37 | y2 | | main.rs:601:5:604:5 | MyThing | -| main.rs:742:36:742:37 | y2 | T | main.rs:608:5:609:14 | S2 | -| main.rs:743:9:743:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:743:18:743:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:743:18:743:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:743:18:743:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:743:18:743:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:743:18:743:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:743:26:743:26 | a | | main.rs:608:5:609:14 | S2 | -| main.rs:745:13:745:14 | x3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:745:13:745:14 | x3 | T | main.rs:601:5:604:5 | MyThing | -| main.rs:745:13:745:14 | x3 | T.T | main.rs:606:5:607:14 | S1 | -| main.rs:745:18:747:9 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:745:18:747:9 | MyThing {...} | T | main.rs:601:5:604:5 | MyThing | -| main.rs:745:18:747:9 | MyThing {...} | T.T | main.rs:606:5:607:14 | S1 | -| main.rs:746:16:746:32 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:746:16:746:32 | MyThing {...} | T | main.rs:606:5:607:14 | S1 | -| main.rs:746:29:746:30 | S1 | | main.rs:606:5:607:14 | S1 | -| main.rs:748:13:748:14 | y3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:748:13:748:14 | y3 | T | main.rs:601:5:604:5 | MyThing | -| main.rs:748:13:748:14 | y3 | T.T | main.rs:608:5:609:14 | S2 | -| main.rs:748:18:750:9 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:748:18:750:9 | MyThing {...} | T | main.rs:601:5:604:5 | MyThing | -| main.rs:748:18:750:9 | MyThing {...} | T.T | main.rs:608:5:609:14 | S2 | -| main.rs:749:16:749:32 | MyThing {...} | | main.rs:601:5:604:5 | MyThing | -| main.rs:749:16:749:32 | MyThing {...} | T | main.rs:608:5:609:14 | S2 | -| main.rs:749:29:749:30 | S2 | | main.rs:608:5:609:14 | S2 | -| main.rs:752:13:752:13 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:752:17:752:39 | call_trait_thing_m1(...) | | main.rs:606:5:607:14 | S1 | -| main.rs:752:37:752:38 | x3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:752:37:752:38 | x3 | T | main.rs:601:5:604:5 | MyThing | -| main.rs:752:37:752:38 | x3 | T.T | main.rs:606:5:607:14 | S1 | -| main.rs:753:9:753:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:753:18:753:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:753:18:753:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:753:18:753:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:753:18:753:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:753:18:753:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:753:26:753:26 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:754:13:754:13 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:754:17:754:41 | call_trait_thing_m1_2(...) | | main.rs:606:5:607:14 | S1 | -| main.rs:754:39:754:40 | x3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:754:39:754:40 | x3 | T | main.rs:601:5:604:5 | MyThing | -| main.rs:754:39:754:40 | x3 | T.T | main.rs:606:5:607:14 | S1 | -| main.rs:755:9:755:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:755:18:755:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:755:18:755:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:755:18:755:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:755:18:755:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:755:18:755:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:755:26:755:26 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:756:13:756:13 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:756:17:756:41 | call_trait_thing_m1_3(...) | | main.rs:606:5:607:14 | S1 | -| main.rs:756:39:756:40 | x3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:756:39:756:40 | x3 | T | main.rs:601:5:604:5 | MyThing | -| main.rs:756:39:756:40 | x3 | T.T | main.rs:606:5:607:14 | S1 | -| main.rs:757:9:757:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:757:18:757:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:757:18:757:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:757:18:757:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:757:18:757:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:757:18:757:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:757:26:757:26 | a | | main.rs:606:5:607:14 | S1 | -| main.rs:758:13:758:13 | b | | main.rs:608:5:609:14 | S2 | -| main.rs:758:17:758:39 | call_trait_thing_m1(...) | | main.rs:608:5:609:14 | S2 | -| main.rs:758:37:758:38 | y3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:758:37:758:38 | y3 | T | main.rs:601:5:604:5 | MyThing | -| main.rs:758:37:758:38 | y3 | T.T | main.rs:608:5:609:14 | S2 | -| main.rs:759:9:759:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:759:18:759:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:759:18:759:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:759:18:759:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:759:18:759:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:759:18:759:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:759:26:759:26 | b | | main.rs:608:5:609:14 | S2 | -| main.rs:760:13:760:13 | b | | main.rs:608:5:609:14 | S2 | -| main.rs:760:17:760:41 | call_trait_thing_m1_2(...) | | main.rs:608:5:609:14 | S2 | -| main.rs:760:39:760:40 | y3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:760:39:760:40 | y3 | T | main.rs:601:5:604:5 | MyThing | -| main.rs:760:39:760:40 | y3 | T.T | main.rs:608:5:609:14 | S2 | -| main.rs:761:9:761:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:761:18:761:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:761:18:761:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:761:18:761:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:761:18:761:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:761:18:761:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:761:26:761:26 | b | | main.rs:608:5:609:14 | S2 | -| main.rs:762:13:762:13 | b | | main.rs:608:5:609:14 | S2 | -| main.rs:762:17:762:41 | call_trait_thing_m1_3(...) | | main.rs:608:5:609:14 | S2 | -| main.rs:762:39:762:40 | y3 | | main.rs:601:5:604:5 | MyThing | -| main.rs:762:39:762:40 | y3 | T | main.rs:601:5:604:5 | MyThing | -| main.rs:762:39:762:40 | y3 | T.T | main.rs:608:5:609:14 | S2 | -| main.rs:763:9:763:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:763:18:763:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:763:18:763:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:763:18:763:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:763:18:763:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:763:18:763:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:763:26:763:26 | b | | main.rs:608:5:609:14 | S2 | -| main.rs:764:13:764:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:764:17:764:26 | ...::m2(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:764:24:764:25 | S1 | | main.rs:606:5:607:14 | S1 | -| main.rs:765:13:765:13 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:765:22:765:31 | ...::m2(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:765:29:765:30 | S2 | | main.rs:608:5:609:14 | S2 | -| main.rs:782:15:782:18 | SelfParam | | main.rs:770:5:774:5 | MyEnum | -| main.rs:782:15:782:18 | SelfParam | A | main.rs:781:10:781:10 | T | -| main.rs:782:26:787:9 | { ... } | | main.rs:781:10:781:10 | T | -| main.rs:783:13:786:13 | match self { ... } | | main.rs:781:10:781:10 | T | -| main.rs:783:19:783:22 | self | | main.rs:770:5:774:5 | MyEnum | -| main.rs:783:19:783:22 | self | A | main.rs:781:10:781:10 | T | -| main.rs:784:17:784:29 | ...::C1(...) | | main.rs:770:5:774:5 | MyEnum | -| main.rs:784:17:784:29 | ...::C1(...) | A | main.rs:781:10:781:10 | T | -| main.rs:784:28:784:28 | a | | main.rs:781:10:781:10 | T | -| main.rs:784:34:784:34 | a | | main.rs:781:10:781:10 | T | -| main.rs:785:17:785:32 | ...::C2 {...} | | main.rs:770:5:774:5 | MyEnum | -| main.rs:785:17:785:32 | ...::C2 {...} | A | main.rs:781:10:781:10 | T | -| main.rs:785:30:785:30 | a | | main.rs:781:10:781:10 | T | -| main.rs:785:37:785:37 | a | | main.rs:781:10:781:10 | T | -| main.rs:790:16:796:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:791:13:791:13 | x | | main.rs:770:5:774:5 | MyEnum | -| main.rs:791:13:791:13 | x | A | main.rs:776:5:777:14 | S1 | -| main.rs:791:17:791:30 | ...::C1(...) | | main.rs:770:5:774:5 | MyEnum | -| main.rs:791:17:791:30 | ...::C1(...) | A | main.rs:776:5:777:14 | S1 | -| main.rs:791:28:791:29 | S1 | | main.rs:776:5:777:14 | S1 | -| main.rs:792:13:792:13 | y | | main.rs:770:5:774:5 | MyEnum | -| main.rs:792:13:792:13 | y | A | main.rs:778:5:779:14 | S2 | -| main.rs:792:17:792:36 | ...::C2 {...} | | main.rs:770:5:774:5 | MyEnum | -| main.rs:792:17:792:36 | ...::C2 {...} | A | main.rs:778:5:779:14 | S2 | -| main.rs:792:33:792:34 | S2 | | main.rs:778:5:779:14 | S2 | -| main.rs:794:9:794:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:794:18:794:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:794:18:794:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:794:18:794:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:794:18:794:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:794:18:794:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:794:26:794:26 | x | | main.rs:770:5:774:5 | MyEnum | -| main.rs:794:26:794:26 | x | A | main.rs:776:5:777:14 | S1 | -| main.rs:794:26:794:31 | x.m1() | | main.rs:776:5:777:14 | S1 | -| main.rs:795:9:795:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:795:18:795:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:795:18:795:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:795:18:795:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:795:18:795:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:795:18:795:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:795:26:795:26 | y | | main.rs:770:5:774:5 | MyEnum | -| main.rs:795:26:795:26 | y | A | main.rs:778:5:779:14 | S2 | -| main.rs:795:26:795:31 | y.m1() | | main.rs:778:5:779:14 | S2 | -| main.rs:817:15:817:18 | SelfParam | | main.rs:815:5:818:5 | Self [trait MyTrait1] | -| main.rs:822:15:822:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:822:15:822:19 | SelfParam | TRef | main.rs:820:5:832:5 | Self [trait MyTrait2] | -| main.rs:825:9:831:9 | { ... } | | main.rs:820:20:820:22 | Tr2 | -| main.rs:826:13:830:13 | if ... {...} else {...} | | main.rs:820:20:820:22 | Tr2 | -| main.rs:826:16:826:16 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:826:16:826:20 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:826:20:826:20 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:826:22:828:13 | { ... } | | main.rs:820:20:820:22 | Tr2 | -| main.rs:827:17:827:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:827:17:827:20 | self | TRef | main.rs:820:5:832:5 | Self [trait MyTrait2] | -| main.rs:827:17:827:25 | self.m1() | | main.rs:820:20:820:22 | Tr2 | -| main.rs:828:20:830:13 | { ... } | | main.rs:820:20:820:22 | Tr2 | -| main.rs:829:17:829:31 | ...::m1(...) | | main.rs:820:20:820:22 | Tr2 | -| main.rs:829:26:829:30 | * ... | | main.rs:820:5:832:5 | Self [trait MyTrait2] | -| main.rs:829:27:829:30 | self | | {EXTERNAL LOCATION} | & | -| main.rs:829:27:829:30 | self | TRef | main.rs:820:5:832:5 | Self [trait MyTrait2] | -| main.rs:836:15:836:18 | SelfParam | | main.rs:834:5:846:5 | Self [trait MyTrait3] | -| main.rs:839:9:845:9 | { ... } | | main.rs:834:20:834:22 | Tr3 | -| main.rs:840:13:844:13 | if ... {...} else {...} | | main.rs:834:20:834:22 | Tr3 | -| main.rs:840:16:840:16 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:840:16:840:20 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:840:20:840:20 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:840:22:842:13 | { ... } | | main.rs:834:20:834:22 | Tr3 | -| main.rs:841:17:841:20 | self | | main.rs:834:5:846:5 | Self [trait MyTrait3] | -| main.rs:841:17:841:25 | self.m2() | | main.rs:800:5:803:5 | MyThing | -| main.rs:841:17:841:25 | self.m2() | A | main.rs:834:20:834:22 | Tr3 | -| main.rs:841:17:841:27 | ... .a | | main.rs:834:20:834:22 | Tr3 | -| main.rs:842:20:844:13 | { ... } | | main.rs:834:20:834:22 | Tr3 | -| main.rs:843:17:843:31 | ...::m2(...) | | main.rs:800:5:803:5 | MyThing | -| main.rs:843:17:843:31 | ...::m2(...) | A | main.rs:834:20:834:22 | Tr3 | -| main.rs:843:17:843:33 | ... .a | | main.rs:834:20:834:22 | Tr3 | -| main.rs:843:26:843:30 | &self | | {EXTERNAL LOCATION} | & | -| main.rs:843:26:843:30 | &self | TRef | main.rs:834:5:846:5 | Self [trait MyTrait3] | -| main.rs:843:27:843:30 | self | | main.rs:834:5:846:5 | Self [trait MyTrait3] | -| main.rs:850:15:850:18 | SelfParam | | main.rs:800:5:803:5 | MyThing | -| main.rs:850:15:850:18 | SelfParam | A | main.rs:848:10:848:10 | T | -| main.rs:850:26:852:9 | { ... } | | main.rs:848:10:848:10 | T | -| main.rs:851:13:851:16 | self | | main.rs:800:5:803:5 | MyThing | -| main.rs:851:13:851:16 | self | A | main.rs:848:10:848:10 | T | -| main.rs:851:13:851:18 | self.a | | main.rs:848:10:848:10 | T | -| main.rs:859:15:859:18 | SelfParam | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:859:15:859:18 | SelfParam | A | main.rs:857:10:857:10 | T | -| main.rs:859:35:861:9 | { ... } | | main.rs:800:5:803:5 | MyThing | -| main.rs:859:35:861:9 | { ... } | A | main.rs:857:10:857:10 | T | -| main.rs:860:13:860:33 | MyThing {...} | | main.rs:800:5:803:5 | MyThing | -| main.rs:860:13:860:33 | MyThing {...} | A | main.rs:857:10:857:10 | T | -| main.rs:860:26:860:29 | self | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:860:26:860:29 | self | A | main.rs:857:10:857:10 | T | -| main.rs:860:26:860:31 | self.a | | main.rs:857:10:857:10 | T | -| main.rs:868:44:868:44 | x | | main.rs:868:26:868:41 | T2 | -| main.rs:868:57:870:5 | { ... } | | main.rs:868:22:868:23 | T1 | -| main.rs:869:9:869:9 | x | | main.rs:868:26:868:41 | T2 | -| main.rs:869:9:869:14 | x.m1() | | main.rs:868:22:868:23 | T1 | -| main.rs:872:56:872:56 | x | | main.rs:872:39:872:53 | T | -| main.rs:872:62:876:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:874:13:874:13 | a | | main.rs:800:5:803:5 | MyThing | -| main.rs:874:13:874:13 | a | A | main.rs:810:5:811:14 | S1 | -| main.rs:874:17:874:17 | x | | main.rs:872:39:872:53 | T | -| main.rs:874:17:874:22 | x.m1() | | main.rs:800:5:803:5 | MyThing | -| main.rs:874:17:874:22 | x.m1() | A | main.rs:810:5:811:14 | S1 | -| main.rs:875:9:875:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:875:18:875:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:875:18:875:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:875:18:875:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:875:18:875:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:875:18:875:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:875:26:875:26 | a | | main.rs:800:5:803:5 | MyThing | -| main.rs:875:26:875:26 | a | A | main.rs:810:5:811:14 | S1 | -| main.rs:878:16:902:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:879:13:879:13 | x | | main.rs:800:5:803:5 | MyThing | -| main.rs:879:13:879:13 | x | A | main.rs:810:5:811:14 | S1 | -| main.rs:879:17:879:33 | MyThing {...} | | main.rs:800:5:803:5 | MyThing | -| main.rs:879:17:879:33 | MyThing {...} | A | main.rs:810:5:811:14 | S1 | -| main.rs:879:30:879:31 | S1 | | main.rs:810:5:811:14 | S1 | -| main.rs:880:13:880:13 | y | | main.rs:800:5:803:5 | MyThing | -| main.rs:880:13:880:13 | y | A | main.rs:812:5:813:14 | S2 | -| main.rs:880:17:880:33 | MyThing {...} | | main.rs:800:5:803:5 | MyThing | -| main.rs:880:17:880:33 | MyThing {...} | A | main.rs:812:5:813:14 | S2 | -| main.rs:880:30:880:31 | S2 | | main.rs:812:5:813:14 | S2 | -| main.rs:882:9:882:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:882:18:882:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:882:18:882:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:882:18:882:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:882:18:882:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:882:18:882:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:882:26:882:26 | x | | main.rs:800:5:803:5 | MyThing | -| main.rs:882:26:882:26 | x | A | main.rs:810:5:811:14 | S1 | -| main.rs:882:26:882:31 | x.m1() | | main.rs:810:5:811:14 | S1 | -| main.rs:883:9:883:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:883:18:883:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:883:18:883:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:883:18:883:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:883:18:883:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:883:18:883:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:883:26:883:26 | y | | main.rs:800:5:803:5 | MyThing | -| main.rs:883:26:883:26 | y | A | main.rs:812:5:813:14 | S2 | -| main.rs:883:26:883:31 | y.m1() | | main.rs:812:5:813:14 | S2 | -| main.rs:885:13:885:13 | x | | main.rs:800:5:803:5 | MyThing | -| main.rs:885:13:885:13 | x | A | main.rs:810:5:811:14 | S1 | -| main.rs:885:17:885:33 | MyThing {...} | | main.rs:800:5:803:5 | MyThing | -| main.rs:885:17:885:33 | MyThing {...} | A | main.rs:810:5:811:14 | S1 | -| main.rs:885:30:885:31 | S1 | | main.rs:810:5:811:14 | S1 | -| main.rs:886:13:886:13 | y | | main.rs:800:5:803:5 | MyThing | -| main.rs:886:13:886:13 | y | A | main.rs:812:5:813:14 | S2 | -| main.rs:886:17:886:33 | MyThing {...} | | main.rs:800:5:803:5 | MyThing | -| main.rs:886:17:886:33 | MyThing {...} | A | main.rs:812:5:813:14 | S2 | -| main.rs:886:30:886:31 | S2 | | main.rs:812:5:813:14 | S2 | -| main.rs:888:9:888:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:888:18:888:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:888:18:888:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:888:18:888:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:888:18:888:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:888:18:888:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:888:26:888:26 | x | | main.rs:800:5:803:5 | MyThing | -| main.rs:888:26:888:26 | x | A | main.rs:810:5:811:14 | S1 | -| main.rs:888:26:888:31 | x.m2() | | main.rs:810:5:811:14 | S1 | -| main.rs:889:9:889:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:889:18:889:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:889:18:889:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:889:18:889:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:889:18:889:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:889:18:889:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:889:26:889:26 | y | | main.rs:800:5:803:5 | MyThing | -| main.rs:889:26:889:26 | y | A | main.rs:812:5:813:14 | S2 | -| main.rs:889:26:889:31 | y.m2() | | main.rs:812:5:813:14 | S2 | -| main.rs:891:13:891:13 | x | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:891:13:891:13 | x | A | main.rs:810:5:811:14 | S1 | -| main.rs:891:17:891:34 | MyThing2 {...} | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:891:17:891:34 | MyThing2 {...} | A | main.rs:810:5:811:14 | S1 | -| main.rs:891:31:891:32 | S1 | | main.rs:810:5:811:14 | S1 | -| main.rs:892:13:892:13 | y | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:892:13:892:13 | y | A | main.rs:812:5:813:14 | S2 | -| main.rs:892:17:892:34 | MyThing2 {...} | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:892:17:892:34 | MyThing2 {...} | A | main.rs:812:5:813:14 | S2 | -| main.rs:892:31:892:32 | S2 | | main.rs:812:5:813:14 | S2 | -| main.rs:894:9:894:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:894:18:894:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:894:18:894:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:894:18:894:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:894:18:894:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:894:18:894:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:894:26:894:26 | x | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:894:26:894:26 | x | A | main.rs:810:5:811:14 | S1 | -| main.rs:894:26:894:31 | x.m3() | | main.rs:810:5:811:14 | S1 | -| main.rs:895:9:895:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:895:18:895:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:895:18:895:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:895:18:895:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:895:18:895:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:895:18:895:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:895:26:895:26 | y | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:895:26:895:26 | y | A | main.rs:812:5:813:14 | S2 | -| main.rs:895:26:895:31 | y.m3() | | main.rs:812:5:813:14 | S2 | -| main.rs:897:13:897:13 | x | | main.rs:800:5:803:5 | MyThing | -| main.rs:897:13:897:13 | x | A | main.rs:810:5:811:14 | S1 | -| main.rs:897:17:897:33 | MyThing {...} | | main.rs:800:5:803:5 | MyThing | -| main.rs:897:17:897:33 | MyThing {...} | A | main.rs:810:5:811:14 | S1 | -| main.rs:897:30:897:31 | S1 | | main.rs:810:5:811:14 | S1 | -| main.rs:898:13:898:13 | s | | main.rs:810:5:811:14 | S1 | -| main.rs:898:17:898:32 | call_trait_m1(...) | | main.rs:810:5:811:14 | S1 | -| main.rs:898:31:898:31 | x | | main.rs:800:5:803:5 | MyThing | -| main.rs:898:31:898:31 | x | A | main.rs:810:5:811:14 | S1 | -| main.rs:900:13:900:13 | x | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:900:13:900:13 | x | A | main.rs:812:5:813:14 | S2 | -| main.rs:900:17:900:34 | MyThing2 {...} | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:900:17:900:34 | MyThing2 {...} | A | main.rs:812:5:813:14 | S2 | -| main.rs:900:31:900:32 | S2 | | main.rs:812:5:813:14 | S2 | -| main.rs:901:13:901:13 | s | | main.rs:800:5:803:5 | MyThing | -| main.rs:901:13:901:13 | s | A | main.rs:812:5:813:14 | S2 | -| main.rs:901:17:901:32 | call_trait_m1(...) | | main.rs:800:5:803:5 | MyThing | -| main.rs:901:17:901:32 | call_trait_m1(...) | A | main.rs:812:5:813:14 | S2 | -| main.rs:901:31:901:31 | x | | main.rs:805:5:808:5 | MyThing2 | -| main.rs:901:31:901:31 | x | A | main.rs:812:5:813:14 | S2 | -| main.rs:918:22:918:22 | x | | {EXTERNAL LOCATION} | & | -| main.rs:918:22:918:22 | x | TRef | main.rs:918:11:918:19 | T | -| main.rs:918:35:920:5 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:918:35:920:5 | { ... } | TRef | main.rs:918:11:918:19 | T | -| main.rs:919:9:919:9 | x | | {EXTERNAL LOCATION} | & | -| main.rs:919:9:919:9 | x | TRef | main.rs:918:11:918:19 | T | -| main.rs:923:17:923:20 | SelfParam | | main.rs:908:5:909:14 | S1 | -| main.rs:923:29:925:9 | { ... } | | main.rs:911:5:912:14 | S2 | -| main.rs:924:13:924:14 | S2 | | main.rs:911:5:912:14 | S2 | -| main.rs:928:21:928:21 | x | | main.rs:928:13:928:14 | T1 | -| main.rs:931:5:933:5 | { ... } | | main.rs:928:17:928:18 | T2 | -| main.rs:932:9:932:9 | x | | main.rs:928:13:928:14 | T1 | -| main.rs:932:9:932:16 | x.into() | | main.rs:928:17:928:18 | T2 | -| main.rs:935:16:951:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:936:13:936:13 | x | | main.rs:908:5:909:14 | S1 | -| main.rs:936:17:936:18 | S1 | | main.rs:908:5:909:14 | S1 | -| main.rs:937:9:937:32 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:937:18:937:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:937:18:937:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:937:18:937:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:937:18:937:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:937:18:937:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:937:26:937:31 | id(...) | | {EXTERNAL LOCATION} | & | -| main.rs:937:26:937:31 | id(...) | TRef | main.rs:908:5:909:14 | S1 | -| main.rs:937:29:937:30 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:937:29:937:30 | &x | TRef | main.rs:908:5:909:14 | S1 | -| main.rs:937:30:937:30 | x | | main.rs:908:5:909:14 | S1 | -| main.rs:939:13:939:13 | x | | main.rs:908:5:909:14 | S1 | -| main.rs:939:17:939:18 | S1 | | main.rs:908:5:909:14 | S1 | -| main.rs:940:9:940:38 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:940:18:940:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:940:18:940:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:940:18:940:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:940:18:940:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:940:18:940:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:940:26:940:37 | id::<...>(...) | | {EXTERNAL LOCATION} | & | -| main.rs:940:26:940:37 | id::<...>(...) | TRef | main.rs:908:5:909:14 | S1 | -| main.rs:940:35:940:36 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:940:35:940:36 | &x | TRef | main.rs:908:5:909:14 | S1 | -| main.rs:940:36:940:36 | x | | main.rs:908:5:909:14 | S1 | -| main.rs:942:13:942:13 | x | | main.rs:908:5:909:14 | S1 | -| main.rs:942:17:942:18 | S1 | | main.rs:908:5:909:14 | S1 | -| main.rs:944:9:944:45 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:944:18:944:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:944:18:944:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:944:18:944:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:944:18:944:44 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:944:18:944:44 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:944:26:944:44 | id::<...>(...) | | {EXTERNAL LOCATION} | & | -| main.rs:944:26:944:44 | id::<...>(...) | TRef | main.rs:914:5:914:25 | dyn Trait | -| main.rs:944:42:944:43 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:944:42:944:43 | &x | TRef | main.rs:908:5:909:14 | S1 | -| main.rs:944:43:944:43 | x | | main.rs:908:5:909:14 | S1 | -| main.rs:946:13:946:13 | x | | main.rs:908:5:909:14 | S1 | -| main.rs:946:17:946:18 | S1 | | main.rs:908:5:909:14 | S1 | -| main.rs:947:9:947:25 | into::<...>(...) | | main.rs:911:5:912:14 | S2 | -| main.rs:947:24:947:24 | x | | main.rs:908:5:909:14 | S1 | -| main.rs:949:13:949:13 | x | | main.rs:908:5:909:14 | S1 | -| main.rs:949:17:949:18 | S1 | | main.rs:908:5:909:14 | S1 | -| main.rs:950:13:950:13 | y | | main.rs:911:5:912:14 | S2 | -| main.rs:950:21:950:27 | into(...) | | main.rs:911:5:912:14 | S2 | -| main.rs:950:26:950:26 | x | | main.rs:908:5:909:14 | S1 | -| main.rs:964:22:964:25 | SelfParam | | main.rs:955:5:961:5 | PairOption | -| main.rs:964:22:964:25 | SelfParam | Fst | main.rs:963:10:963:12 | Fst | -| main.rs:964:22:964:25 | SelfParam | Snd | main.rs:963:15:963:17 | Snd | -| main.rs:964:35:971:9 | { ... } | | main.rs:963:15:963:17 | Snd | -| main.rs:965:13:970:13 | match self { ... } | | file://:0:0:0:0 | ! | -| main.rs:965:13:970:13 | match self { ... } | | main.rs:963:15:963:17 | Snd | -| main.rs:965:19:965:22 | self | | main.rs:955:5:961:5 | PairOption | -| main.rs:965:19:965:22 | self | Fst | main.rs:963:10:963:12 | Fst | -| main.rs:965:19:965:22 | self | Snd | main.rs:963:15:963:17 | Snd | -| main.rs:966:17:966:38 | ...::PairNone(...) | | main.rs:955:5:961:5 | PairOption | -| main.rs:966:17:966:38 | ...::PairNone(...) | Fst | main.rs:963:10:963:12 | Fst | -| main.rs:966:17:966:38 | ...::PairNone(...) | Snd | main.rs:963:15:963:17 | Snd | -| main.rs:966:43:966:82 | MacroExpr | | file://:0:0:0:0 | ! | -| main.rs:966:50:966:81 | "PairNone has no second elemen... | | {EXTERNAL LOCATION} | & | -| main.rs:966:50:966:81 | "PairNone has no second elemen... | TRef | {EXTERNAL LOCATION} | str | -| main.rs:966:50:966:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | -| main.rs:966:50:966:81 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:966:50:966:81 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:967:17:967:38 | ...::PairFst(...) | | main.rs:955:5:961:5 | PairOption | -| main.rs:967:17:967:38 | ...::PairFst(...) | Fst | main.rs:963:10:963:12 | Fst | -| main.rs:967:17:967:38 | ...::PairFst(...) | Snd | main.rs:963:15:963:17 | Snd | -| main.rs:967:37:967:37 | _ | | main.rs:963:10:963:12 | Fst | -| main.rs:967:43:967:81 | MacroExpr | | file://:0:0:0:0 | ! | -| main.rs:967:50:967:80 | "PairFst has no second element... | | {EXTERNAL LOCATION} | & | -| main.rs:967:50:967:80 | "PairFst has no second element... | TRef | {EXTERNAL LOCATION} | str | -| main.rs:967:50:967:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | -| main.rs:967:50:967:80 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:967:50:967:80 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:968:17:968:40 | ...::PairSnd(...) | | main.rs:955:5:961:5 | PairOption | -| main.rs:968:17:968:40 | ...::PairSnd(...) | Fst | main.rs:963:10:963:12 | Fst | -| main.rs:968:17:968:40 | ...::PairSnd(...) | Snd | main.rs:963:15:963:17 | Snd | -| main.rs:968:37:968:39 | snd | | main.rs:963:15:963:17 | Snd | -| main.rs:968:45:968:47 | snd | | main.rs:963:15:963:17 | Snd | -| main.rs:969:17:969:44 | ...::PairBoth(...) | | main.rs:955:5:961:5 | PairOption | -| main.rs:969:17:969:44 | ...::PairBoth(...) | Fst | main.rs:963:10:963:12 | Fst | -| main.rs:969:17:969:44 | ...::PairBoth(...) | Snd | main.rs:963:15:963:17 | Snd | -| main.rs:969:38:969:38 | _ | | main.rs:963:10:963:12 | Fst | -| main.rs:969:41:969:43 | snd | | main.rs:963:15:963:17 | Snd | -| main.rs:969:49:969:51 | snd | | main.rs:963:15:963:17 | Snd | -| main.rs:995:10:995:10 | t | | main.rs:955:5:961:5 | PairOption | -| main.rs:995:10:995:10 | t | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:995:10:995:10 | t | Snd | main.rs:955:5:961:5 | PairOption | -| main.rs:995:10:995:10 | t | Snd.Fst | main.rs:977:5:978:14 | S2 | -| main.rs:995:10:995:10 | t | Snd.Snd | main.rs:980:5:981:14 | S3 | -| main.rs:995:30:998:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:996:13:996:13 | x | | main.rs:980:5:981:14 | S3 | -| main.rs:996:17:996:17 | t | | main.rs:955:5:961:5 | PairOption | -| main.rs:996:17:996:17 | t | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:996:17:996:17 | t | Snd | main.rs:955:5:961:5 | PairOption | -| main.rs:996:17:996:17 | t | Snd.Fst | main.rs:977:5:978:14 | S2 | -| main.rs:996:17:996:17 | t | Snd.Snd | main.rs:980:5:981:14 | S3 | -| main.rs:996:17:996:29 | t.unwrapSnd() | | main.rs:955:5:961:5 | PairOption | -| main.rs:996:17:996:29 | t.unwrapSnd() | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:996:17:996:29 | t.unwrapSnd() | Snd | main.rs:980:5:981:14 | S3 | -| main.rs:996:17:996:41 | ... .unwrapSnd() | | main.rs:980:5:981:14 | S3 | -| main.rs:997:9:997:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:997:18:997:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:997:18:997:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:997:18:997:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:997:18:997:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:997:18:997:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:997:26:997:26 | x | | main.rs:980:5:981:14 | S3 | -| main.rs:1008:16:1028:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1010:13:1010:14 | p1 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1010:13:1010:14 | p1 | Fst | main.rs:974:5:975:14 | S1 | -| main.rs:1010:13:1010:14 | p1 | Snd | main.rs:977:5:978:14 | S2 | -| main.rs:1010:26:1010:53 | ...::PairBoth(...) | | main.rs:955:5:961:5 | PairOption | -| main.rs:1010:26:1010:53 | ...::PairBoth(...) | Fst | main.rs:974:5:975:14 | S1 | -| main.rs:1010:26:1010:53 | ...::PairBoth(...) | Snd | main.rs:977:5:978:14 | S2 | -| main.rs:1010:47:1010:48 | S1 | | main.rs:974:5:975:14 | S1 | -| main.rs:1010:51:1010:52 | S2 | | main.rs:977:5:978:14 | S2 | -| main.rs:1011:9:1011:28 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1011:18:1011:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1011:18:1011:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1011:18:1011:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1011:18:1011:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1011:18:1011:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1011:26:1011:27 | p1 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1011:26:1011:27 | p1 | Fst | main.rs:974:5:975:14 | S1 | -| main.rs:1011:26:1011:27 | p1 | Snd | main.rs:977:5:978:14 | S2 | -| main.rs:1014:13:1014:14 | p2 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1014:13:1014:14 | p2 | Fst | main.rs:974:5:975:14 | S1 | -| main.rs:1014:13:1014:14 | p2 | Snd | main.rs:977:5:978:14 | S2 | -| main.rs:1014:26:1014:47 | ...::PairNone(...) | | main.rs:955:5:961:5 | PairOption | -| main.rs:1014:26:1014:47 | ...::PairNone(...) | Fst | main.rs:974:5:975:14 | S1 | -| main.rs:1014:26:1014:47 | ...::PairNone(...) | Snd | main.rs:977:5:978:14 | S2 | -| main.rs:1015:9:1015:28 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1015:18:1015:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1015:18:1015:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1015:18:1015:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1015:18:1015:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1015:18:1015:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1015:26:1015:27 | p2 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1015:26:1015:27 | p2 | Fst | main.rs:974:5:975:14 | S1 | -| main.rs:1015:26:1015:27 | p2 | Snd | main.rs:977:5:978:14 | S2 | -| main.rs:1018:13:1018:14 | p3 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1018:13:1018:14 | p3 | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1018:13:1018:14 | p3 | Snd | main.rs:980:5:981:14 | S3 | -| main.rs:1018:34:1018:56 | ...::PairSnd(...) | | main.rs:955:5:961:5 | PairOption | -| main.rs:1018:34:1018:56 | ...::PairSnd(...) | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1018:34:1018:56 | ...::PairSnd(...) | Snd | main.rs:980:5:981:14 | S3 | -| main.rs:1018:54:1018:55 | S3 | | main.rs:980:5:981:14 | S3 | -| main.rs:1019:9:1019:28 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1019:18:1019:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1019:18:1019:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1019:18:1019:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1019:18:1019:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1019:18:1019:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1019:26:1019:27 | p3 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1019:26:1019:27 | p3 | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1019:26:1019:27 | p3 | Snd | main.rs:980:5:981:14 | S3 | -| main.rs:1022:13:1022:14 | p3 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1022:13:1022:14 | p3 | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1022:13:1022:14 | p3 | Snd | main.rs:980:5:981:14 | S3 | -| main.rs:1022:35:1022:56 | ...::PairNone(...) | | main.rs:955:5:961:5 | PairOption | -| main.rs:1022:35:1022:56 | ...::PairNone(...) | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1022:35:1022:56 | ...::PairNone(...) | Snd | main.rs:980:5:981:14 | S3 | -| main.rs:1023:9:1023:28 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1023:18:1023:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1023:18:1023:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1023:18:1023:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1023:18:1023:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1023:18:1023:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1023:26:1023:27 | p3 | | main.rs:955:5:961:5 | PairOption | -| main.rs:1023:26:1023:27 | p3 | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1023:26:1023:27 | p3 | Snd | main.rs:980:5:981:14 | S3 | -| main.rs:1025:9:1025:55 | g(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1025:11:1025:54 | ...::PairSnd(...) | | main.rs:955:5:961:5 | PairOption | -| main.rs:1025:11:1025:54 | ...::PairSnd(...) | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1025:11:1025:54 | ...::PairSnd(...) | Snd | main.rs:955:5:961:5 | PairOption | -| main.rs:1025:11:1025:54 | ...::PairSnd(...) | Snd.Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1025:11:1025:54 | ...::PairSnd(...) | Snd.Snd | main.rs:980:5:981:14 | S3 | -| main.rs:1025:31:1025:53 | ...::PairSnd(...) | | main.rs:955:5:961:5 | PairOption | -| main.rs:1025:31:1025:53 | ...::PairSnd(...) | Fst | main.rs:977:5:978:14 | S2 | -| main.rs:1025:31:1025:53 | ...::PairSnd(...) | Snd | main.rs:980:5:981:14 | S3 | -| main.rs:1025:51:1025:52 | S3 | | main.rs:980:5:981:14 | S3 | -| main.rs:1027:13:1027:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1027:13:1027:13 | x | E | main.rs:974:5:975:14 | S1 | -| main.rs:1027:13:1027:13 | x | T | main.rs:1000:5:1000:34 | S4 | -| main.rs:1027:13:1027:13 | x | T.T41 | main.rs:977:5:978:14 | S2 | -| main.rs:1027:13:1027:13 | x | T.T42 | main.rs:1002:5:1002:22 | S5 | -| main.rs:1027:13:1027:13 | x | T.T42.T5 | main.rs:977:5:978:14 | S2 | -| main.rs:1040:16:1040:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1040:16:1040:24 | SelfParam | TRefMut | main.rs:1038:5:1045:5 | Self [trait MyTrait] | -| main.rs:1040:27:1040:31 | value | | main.rs:1038:19:1038:19 | S | -| main.rs:1042:21:1042:29 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1042:21:1042:29 | SelfParam | TRefMut | main.rs:1038:5:1045:5 | Self [trait MyTrait] | -| main.rs:1042:32:1042:36 | value | | main.rs:1038:19:1038:19 | S | -| main.rs:1042:42:1044:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1043:13:1043:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1043:13:1043:16 | self | TRefMut | main.rs:1038:5:1045:5 | Self [trait MyTrait] | -| main.rs:1043:13:1043:27 | self.set(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1043:22:1043:26 | value | | main.rs:1038:19:1038:19 | S | -| main.rs:1049:16:1049:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1049:16:1049:24 | SelfParam | TRefMut | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1049:16:1049:24 | SelfParam | TRefMut.T | main.rs:1047:10:1047:10 | T | -| main.rs:1049:27:1049:31 | value | | main.rs:1047:10:1047:10 | T | -| main.rs:1049:37:1049:38 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1053:26:1055:9 | { ... } | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1053:26:1055:9 | { ... } | T | main.rs:1052:10:1052:10 | T | -| main.rs:1054:13:1054:30 | ...::MyNone(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1054:13:1054:30 | ...::MyNone(...) | T | main.rs:1052:10:1052:10 | T | -| main.rs:1059:20:1059:23 | SelfParam | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1059:20:1059:23 | SelfParam | T | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1059:20:1059:23 | SelfParam | T.T | main.rs:1058:10:1058:10 | T | -| main.rs:1059:41:1064:9 | { ... } | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1059:41:1064:9 | { ... } | T | main.rs:1058:10:1058:10 | T | -| main.rs:1060:13:1063:13 | match self { ... } | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1060:13:1063:13 | match self { ... } | T | main.rs:1058:10:1058:10 | T | -| main.rs:1060:19:1060:22 | self | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1060:19:1060:22 | self | T | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1060:19:1060:22 | self | T.T | main.rs:1058:10:1058:10 | T | -| main.rs:1061:17:1061:34 | ...::MyNone(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1061:17:1061:34 | ...::MyNone(...) | T | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1061:17:1061:34 | ...::MyNone(...) | T.T | main.rs:1058:10:1058:10 | T | -| main.rs:1061:39:1061:56 | ...::MyNone(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1061:39:1061:56 | ...::MyNone(...) | T | main.rs:1058:10:1058:10 | T | -| main.rs:1062:17:1062:35 | ...::MySome(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1062:17:1062:35 | ...::MySome(...) | T | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1062:17:1062:35 | ...::MySome(...) | T.T | main.rs:1058:10:1058:10 | T | -| main.rs:1062:34:1062:34 | x | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1062:34:1062:34 | x | T | main.rs:1058:10:1058:10 | T | -| main.rs:1062:40:1062:40 | x | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1062:40:1062:40 | x | T | main.rs:1058:10:1058:10 | T | -| main.rs:1070:16:1115:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1071:13:1071:14 | x1 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1071:13:1071:14 | x1 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1071:18:1071:37 | ...::new(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1071:18:1071:37 | ...::new(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1072:9:1072:28 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1072:18:1072:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1072:18:1072:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1072:18:1072:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1072:18:1072:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1072:18:1072:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1072:26:1072:27 | x1 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1072:26:1072:27 | x1 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1074:17:1074:18 | x2 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1074:17:1074:18 | x2 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1074:22:1074:36 | ...::new(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1074:22:1074:36 | ...::new(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1075:9:1075:10 | x2 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1075:9:1075:10 | x2 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1075:9:1075:17 | x2.set(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1075:16:1075:16 | S | | main.rs:1067:5:1068:13 | S | -| main.rs:1076:9:1076:28 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1076:18:1076:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1076:18:1076:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1076:18:1076:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1076:18:1076:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1076:18:1076:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1076:26:1076:27 | x2 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1076:26:1076:27 | x2 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1078:17:1078:18 | x3 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1078:17:1078:18 | x3 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1078:22:1078:36 | ...::new(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1078:22:1078:36 | ...::new(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1079:9:1079:10 | x3 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1079:9:1079:10 | x3 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1079:9:1079:22 | x3.call_set(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1079:21:1079:21 | S | | main.rs:1067:5:1068:13 | S | -| main.rs:1080:9:1080:28 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1080:18:1080:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1080:18:1080:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1080:18:1080:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1080:18:1080:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1080:18:1080:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1080:26:1080:27 | x3 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1080:26:1080:27 | x3 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1082:17:1082:18 | x4 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1082:17:1082:18 | x4 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1082:22:1082:36 | ...::new(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1082:22:1082:36 | ...::new(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1083:9:1083:33 | ...::set(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1083:23:1083:29 | &mut x4 | | {EXTERNAL LOCATION} | &mut | -| main.rs:1083:23:1083:29 | &mut x4 | TRefMut | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1083:23:1083:29 | &mut x4 | TRefMut.T | main.rs:1067:5:1068:13 | S | -| main.rs:1083:28:1083:29 | x4 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1083:28:1083:29 | x4 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1083:32:1083:32 | S | | main.rs:1067:5:1068:13 | S | -| main.rs:1084:9:1084:28 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1084:18:1084:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1084:18:1084:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1084:18:1084:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1084:18:1084:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1084:18:1084:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1084:26:1084:27 | x4 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1084:26:1084:27 | x4 | T | main.rs:1067:5:1068:13 | S | -| main.rs:1086:13:1086:14 | x5 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1086:13:1086:14 | x5 | T | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1086:13:1086:14 | x5 | T.T | main.rs:1067:5:1068:13 | S | -| main.rs:1086:18:1086:58 | ...::MySome(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1086:18:1086:58 | ...::MySome(...) | T | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1086:18:1086:58 | ...::MySome(...) | T.T | main.rs:1067:5:1068:13 | S | -| main.rs:1086:35:1086:57 | ...::MyNone(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1086:35:1086:57 | ...::MyNone(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1087:9:1087:38 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1087:18:1087:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1087:18:1087:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1087:18:1087:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1087:18:1087:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1087:18:1087:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1087:26:1087:27 | x5 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1087:26:1087:27 | x5 | T | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1087:26:1087:27 | x5 | T.T | main.rs:1067:5:1068:13 | S | -| main.rs:1087:26:1087:37 | x5.flatten() | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1087:26:1087:37 | x5.flatten() | T | main.rs:1067:5:1068:13 | S | -| main.rs:1089:13:1089:14 | x6 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1089:13:1089:14 | x6 | T | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1089:13:1089:14 | x6 | T.T | main.rs:1067:5:1068:13 | S | -| main.rs:1089:18:1089:58 | ...::MySome(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1089:18:1089:58 | ...::MySome(...) | T | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1089:18:1089:58 | ...::MySome(...) | T.T | main.rs:1067:5:1068:13 | S | -| main.rs:1089:35:1089:57 | ...::MyNone(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1089:35:1089:57 | ...::MyNone(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1090:9:1090:62 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1090:18:1090:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1090:18:1090:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1090:18:1090:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1090:18:1090:61 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1090:18:1090:61 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1090:26:1090:61 | ...::flatten(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1090:26:1090:61 | ...::flatten(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1090:59:1090:60 | x6 | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1090:59:1090:60 | x6 | T | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1090:59:1090:60 | x6 | T.T | main.rs:1067:5:1068:13 | S | -| main.rs:1093:13:1093:19 | from_if | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1093:13:1093:19 | from_if | T | main.rs:1067:5:1068:13 | S | -| main.rs:1093:23:1097:9 | if ... {...} else {...} | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1093:23:1097:9 | if ... {...} else {...} | T | main.rs:1067:5:1068:13 | S | -| main.rs:1093:26:1093:26 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1093:26:1093:30 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1093:30:1093:30 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1093:32:1095:9 | { ... } | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1093:32:1095:9 | { ... } | T | main.rs:1067:5:1068:13 | S | -| main.rs:1094:13:1094:30 | ...::MyNone(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1094:13:1094:30 | ...::MyNone(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1095:16:1097:9 | { ... } | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1095:16:1097:9 | { ... } | T | main.rs:1067:5:1068:13 | S | -| main.rs:1096:13:1096:31 | ...::MySome(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1096:13:1096:31 | ...::MySome(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1096:30:1096:30 | S | | main.rs:1067:5:1068:13 | S | -| main.rs:1098:9:1098:33 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1098:18:1098:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1098:18:1098:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1098:18:1098:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1098:18:1098:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1098:18:1098:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1098:26:1098:32 | from_if | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1098:26:1098:32 | from_if | T | main.rs:1067:5:1068:13 | S | -| main.rs:1101:13:1101:22 | from_match | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1101:13:1101:22 | from_match | T | main.rs:1067:5:1068:13 | S | -| main.rs:1101:26:1104:9 | match ... { ... } | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1101:26:1104:9 | match ... { ... } | T | main.rs:1067:5:1068:13 | S | -| main.rs:1101:32:1101:32 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1101:32:1101:36 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1101:36:1101:36 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1102:13:1102:16 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1102:21:1102:38 | ...::MyNone(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1102:21:1102:38 | ...::MyNone(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1103:13:1103:17 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1103:22:1103:40 | ...::MySome(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1103:22:1103:40 | ...::MySome(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1103:39:1103:39 | S | | main.rs:1067:5:1068:13 | S | -| main.rs:1105:9:1105:36 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1105:18:1105:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1105:18:1105:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1105:18:1105:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1105:18:1105:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1105:18:1105:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1105:26:1105:35 | from_match | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1105:26:1105:35 | from_match | T | main.rs:1067:5:1068:13 | S | -| main.rs:1108:13:1108:21 | from_loop | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1108:13:1108:21 | from_loop | T | main.rs:1067:5:1068:13 | S | -| main.rs:1108:25:1113:9 | loop { ... } | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1108:25:1113:9 | loop { ... } | T | main.rs:1067:5:1068:13 | S | -| main.rs:1108:30:1113:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1109:13:1111:13 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1109:16:1109:16 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1109:16:1109:20 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1109:20:1109:20 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1109:22:1111:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1110:23:1110:40 | ...::MyNone(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1110:23:1110:40 | ...::MyNone(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1112:19:1112:37 | ...::MySome(...) | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1112:19:1112:37 | ...::MySome(...) | T | main.rs:1067:5:1068:13 | S | -| main.rs:1112:36:1112:36 | S | | main.rs:1067:5:1068:13 | S | -| main.rs:1114:9:1114:35 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1114:18:1114:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1114:18:1114:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1114:18:1114:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1114:18:1114:34 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1114:18:1114:34 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1114:26:1114:34 | from_loop | | main.rs:1032:5:1036:5 | MyOption | -| main.rs:1114:26:1114:34 | from_loop | T | main.rs:1067:5:1068:13 | S | -| main.rs:1132:15:1132:18 | SelfParam | | main.rs:1120:5:1121:19 | S | -| main.rs:1132:15:1132:18 | SelfParam | T | main.rs:1131:10:1131:10 | T | -| main.rs:1132:26:1134:9 | { ... } | | main.rs:1131:10:1131:10 | T | -| main.rs:1133:13:1133:16 | self | | main.rs:1120:5:1121:19 | S | -| main.rs:1133:13:1133:16 | self | T | main.rs:1131:10:1131:10 | T | -| main.rs:1133:13:1133:18 | self.0 | | main.rs:1131:10:1131:10 | T | -| main.rs:1136:15:1136:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1136:15:1136:19 | SelfParam | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1136:15:1136:19 | SelfParam | TRef.T | main.rs:1131:10:1131:10 | T | -| main.rs:1136:28:1138:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1136:28:1138:9 | { ... } | TRef | main.rs:1131:10:1131:10 | T | -| main.rs:1137:13:1137:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1137:13:1137:19 | &... | TRef | main.rs:1131:10:1131:10 | T | -| main.rs:1137:14:1137:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1137:14:1137:17 | self | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1137:14:1137:17 | self | TRef.T | main.rs:1131:10:1131:10 | T | -| main.rs:1137:14:1137:19 | self.0 | | main.rs:1131:10:1131:10 | T | -| main.rs:1140:15:1140:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1140:15:1140:25 | SelfParam | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1140:15:1140:25 | SelfParam | TRef.T | main.rs:1131:10:1131:10 | T | -| main.rs:1140:34:1142:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1140:34:1142:9 | { ... } | TRef | main.rs:1131:10:1131:10 | T | -| main.rs:1141:13:1141:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1141:13:1141:19 | &... | TRef | main.rs:1131:10:1131:10 | T | -| main.rs:1141:14:1141:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1141:14:1141:17 | self | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1141:14:1141:17 | self | TRef.T | main.rs:1131:10:1131:10 | T | -| main.rs:1141:14:1141:19 | self.0 | | main.rs:1131:10:1131:10 | T | -| main.rs:1146:29:1146:33 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1146:29:1146:33 | SelfParam | TRef | main.rs:1145:5:1148:5 | Self [trait ATrait] | -| main.rs:1147:33:1147:36 | SelfParam | | main.rs:1145:5:1148:5 | Self [trait ATrait] | -| main.rs:1153:29:1153:33 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1153:29:1153:33 | SelfParam | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1153:29:1153:33 | SelfParam | TRef.TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1153:43:1155:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:1154:13:1154:22 | (...) | | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1154:13:1154:24 | ... .a | | {EXTERNAL LOCATION} | i64 | -| main.rs:1154:14:1154:21 | * ... | | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1154:15:1154:21 | (...) | | {EXTERNAL LOCATION} | & | -| main.rs:1154:15:1154:21 | (...) | TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1154:16:1154:20 | * ... | | {EXTERNAL LOCATION} | & | -| main.rs:1154:16:1154:20 | * ... | TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1154:17:1154:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1154:17:1154:20 | self | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1154:17:1154:20 | self | TRef.TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1158:33:1158:36 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1158:33:1158:36 | SelfParam | TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1158:46:1160:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:1159:13:1159:19 | (...) | | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1159:13:1159:21 | ... .a | | {EXTERNAL LOCATION} | i64 | -| main.rs:1159:14:1159:18 | * ... | | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1159:15:1159:18 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1159:15:1159:18 | self | TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1163:16:1213:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1164:13:1164:14 | x1 | | main.rs:1120:5:1121:19 | S | -| main.rs:1164:13:1164:14 | x1 | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1164:18:1164:22 | S(...) | | main.rs:1120:5:1121:19 | S | -| main.rs:1164:18:1164:22 | S(...) | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1164:20:1164:21 | S2 | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1165:9:1165:33 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1165:18:1165:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1165:18:1165:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1165:18:1165:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1165:18:1165:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1165:18:1165:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1165:26:1165:27 | x1 | | main.rs:1120:5:1121:19 | S | -| main.rs:1165:26:1165:27 | x1 | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1165:26:1165:32 | x1.m1() | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1167:13:1167:14 | x2 | | main.rs:1120:5:1121:19 | S | -| main.rs:1167:13:1167:14 | x2 | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1167:18:1167:22 | S(...) | | main.rs:1120:5:1121:19 | S | -| main.rs:1167:18:1167:22 | S(...) | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1167:20:1167:21 | S2 | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1169:9:1169:33 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1169:18:1169:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1169:18:1169:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1169:18:1169:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1169:18:1169:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1169:18:1169:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1169:26:1169:27 | x2 | | main.rs:1120:5:1121:19 | S | -| main.rs:1169:26:1169:27 | x2 | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1169:26:1169:32 | x2.m2() | | {EXTERNAL LOCATION} | & | -| main.rs:1169:26:1169:32 | x2.m2() | TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1170:9:1170:33 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1170:18:1170:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1170:18:1170:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1170:18:1170:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1170:18:1170:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1170:18:1170:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1170:26:1170:27 | x2 | | main.rs:1120:5:1121:19 | S | -| main.rs:1170:26:1170:27 | x2 | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1170:26:1170:32 | x2.m3() | | {EXTERNAL LOCATION} | & | -| main.rs:1170:26:1170:32 | x2.m3() | TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1172:13:1172:14 | x3 | | main.rs:1120:5:1121:19 | S | -| main.rs:1172:13:1172:14 | x3 | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1172:18:1172:22 | S(...) | | main.rs:1120:5:1121:19 | S | -| main.rs:1172:18:1172:22 | S(...) | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1172:20:1172:21 | S2 | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1174:9:1174:42 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1174:18:1174:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1174:18:1174:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1174:18:1174:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1174:18:1174:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1174:18:1174:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1174:26:1174:41 | ...::m2(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1174:26:1174:41 | ...::m2(...) | TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1174:38:1174:40 | &x3 | | {EXTERNAL LOCATION} | & | -| main.rs:1174:38:1174:40 | &x3 | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1174:38:1174:40 | &x3 | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1174:39:1174:40 | x3 | | main.rs:1120:5:1121:19 | S | -| main.rs:1174:39:1174:40 | x3 | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1175:9:1175:42 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1175:18:1175:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1175:18:1175:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1175:18:1175:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1175:18:1175:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1175:18:1175:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1175:26:1175:41 | ...::m3(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1175:26:1175:41 | ...::m3(...) | TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1175:38:1175:40 | &x3 | | {EXTERNAL LOCATION} | & | -| main.rs:1175:38:1175:40 | &x3 | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1175:38:1175:40 | &x3 | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1175:39:1175:40 | x3 | | main.rs:1120:5:1121:19 | S | -| main.rs:1175:39:1175:40 | x3 | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1177:13:1177:14 | x4 | | {EXTERNAL LOCATION} | & | -| main.rs:1177:13:1177:14 | x4 | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1177:13:1177:14 | x4 | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1177:18:1177:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1177:18:1177:23 | &... | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1177:18:1177:23 | &... | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1177:19:1177:23 | S(...) | | main.rs:1120:5:1121:19 | S | -| main.rs:1177:19:1177:23 | S(...) | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1177:21:1177:22 | S2 | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1179:9:1179:33 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1179:18:1179:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1179:18:1179:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1179:18:1179:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1179:18:1179:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1179:18:1179:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1179:26:1179:27 | x4 | | {EXTERNAL LOCATION} | & | -| main.rs:1179:26:1179:27 | x4 | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1179:26:1179:27 | x4 | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1179:26:1179:32 | x4.m2() | | {EXTERNAL LOCATION} | & | -| main.rs:1179:26:1179:32 | x4.m2() | TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1180:9:1180:33 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1180:18:1180:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1180:18:1180:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1180:18:1180:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1180:18:1180:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1180:18:1180:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1180:26:1180:27 | x4 | | {EXTERNAL LOCATION} | & | -| main.rs:1180:26:1180:27 | x4 | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1180:26:1180:27 | x4 | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1180:26:1180:32 | x4.m3() | | {EXTERNAL LOCATION} | & | -| main.rs:1180:26:1180:32 | x4.m3() | TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1182:13:1182:14 | x5 | | {EXTERNAL LOCATION} | & | -| main.rs:1182:13:1182:14 | x5 | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1182:13:1182:14 | x5 | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1182:18:1182:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1182:18:1182:23 | &... | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1182:18:1182:23 | &... | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1182:19:1182:23 | S(...) | | main.rs:1120:5:1121:19 | S | -| main.rs:1182:19:1182:23 | S(...) | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1182:21:1182:22 | S2 | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1184:9:1184:33 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1184:18:1184:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1184:18:1184:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1184:18:1184:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1184:18:1184:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1184:18:1184:32 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1184:26:1184:27 | x5 | | {EXTERNAL LOCATION} | & | -| main.rs:1184:26:1184:27 | x5 | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1184:26:1184:27 | x5 | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1184:26:1184:32 | x5.m1() | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1185:9:1185:30 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1185:18:1185:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1185:18:1185:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1185:18:1185:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1185:18:1185:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1185:18:1185:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1185:26:1185:27 | x5 | | {EXTERNAL LOCATION} | & | -| main.rs:1185:26:1185:27 | x5 | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1185:26:1185:27 | x5 | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1185:26:1185:29 | x5.0 | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1187:13:1187:14 | x6 | | {EXTERNAL LOCATION} | & | -| main.rs:1187:13:1187:14 | x6 | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1187:13:1187:14 | x6 | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1187:18:1187:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1187:18:1187:23 | &... | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1187:18:1187:23 | &... | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1187:19:1187:23 | S(...) | | main.rs:1120:5:1121:19 | S | -| main.rs:1187:19:1187:23 | S(...) | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1187:21:1187:22 | S2 | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1190:9:1190:36 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1190:18:1190:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1190:18:1190:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1190:18:1190:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1190:18:1190:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1190:18:1190:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1190:26:1190:30 | (...) | | main.rs:1120:5:1121:19 | S | -| main.rs:1190:26:1190:30 | (...) | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1190:26:1190:35 | ... .m1() | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1190:27:1190:29 | * ... | | main.rs:1120:5:1121:19 | S | -| main.rs:1190:27:1190:29 | * ... | T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1190:28:1190:29 | x6 | | {EXTERNAL LOCATION} | & | -| main.rs:1190:28:1190:29 | x6 | TRef | main.rs:1120:5:1121:19 | S | -| main.rs:1190:28:1190:29 | x6 | TRef.T | main.rs:1123:5:1124:14 | S2 | -| main.rs:1192:13:1192:14 | x7 | | main.rs:1120:5:1121:19 | S | -| main.rs:1192:13:1192:14 | x7 | T | {EXTERNAL LOCATION} | & | -| main.rs:1192:13:1192:14 | x7 | T.TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1192:18:1192:23 | S(...) | | main.rs:1120:5:1121:19 | S | -| main.rs:1192:18:1192:23 | S(...) | T | {EXTERNAL LOCATION} | & | -| main.rs:1192:18:1192:23 | S(...) | T.TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1192:20:1192:22 | &S2 | | {EXTERNAL LOCATION} | & | -| main.rs:1192:20:1192:22 | &S2 | TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1192:21:1192:22 | S2 | | main.rs:1123:5:1124:14 | S2 | -| main.rs:1195:13:1195:13 | t | | {EXTERNAL LOCATION} | & | -| main.rs:1195:13:1195:13 | t | TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1195:17:1195:18 | x7 | | main.rs:1120:5:1121:19 | S | -| main.rs:1195:17:1195:18 | x7 | T | {EXTERNAL LOCATION} | & | -| main.rs:1195:17:1195:18 | x7 | T.TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1195:17:1195:23 | x7.m1() | | {EXTERNAL LOCATION} | & | -| main.rs:1195:17:1195:23 | x7.m1() | TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1196:9:1196:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:735:18:735:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:735:18:735:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:735:18:735:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:735:26:735:26 | x | | main.rs:618:5:621:5 | MyThing | +| main.rs:735:26:735:26 | x | T | main.rs:623:5:624:14 | S1 | +| main.rs:735:26:735:31 | x.m2() | | main.rs:623:5:624:14 | S1 | +| main.rs:736:9:736:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:736:18:736:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:736:18:736:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:736:18:736:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:736:18:736:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:736:18:736:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:736:26:736:26 | y | | main.rs:618:5:621:5 | MyThing | +| main.rs:736:26:736:26 | y | T | main.rs:625:5:626:14 | S2 | +| main.rs:736:26:736:31 | y.m2() | | main.rs:625:5:626:14 | S2 | +| main.rs:738:13:738:14 | x2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:738:13:738:14 | x2 | T | main.rs:623:5:624:14 | S1 | +| main.rs:738:18:738:34 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:738:18:738:34 | MyThing {...} | T | main.rs:623:5:624:14 | S1 | +| main.rs:738:31:738:32 | S1 | | main.rs:623:5:624:14 | S1 | +| main.rs:739:13:739:14 | y2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:739:13:739:14 | y2 | T | main.rs:625:5:626:14 | S2 | +| main.rs:739:18:739:34 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:739:18:739:34 | MyThing {...} | T | main.rs:625:5:626:14 | S2 | +| main.rs:739:31:739:32 | S2 | | main.rs:625:5:626:14 | S2 | +| main.rs:741:13:741:13 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:741:17:741:33 | call_trait_m1(...) | | main.rs:623:5:624:14 | S1 | +| main.rs:741:31:741:32 | x2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:741:31:741:32 | x2 | T | main.rs:623:5:624:14 | S1 | +| main.rs:742:9:742:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:742:18:742:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:742:18:742:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:742:18:742:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:742:18:742:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:742:18:742:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:742:26:742:26 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:743:13:743:13 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:743:17:743:35 | call_trait_m1_2(...) | | main.rs:623:5:624:14 | S1 | +| main.rs:743:33:743:34 | x2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:743:33:743:34 | x2 | T | main.rs:623:5:624:14 | S1 | +| main.rs:744:9:744:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:744:18:744:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:744:18:744:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:744:18:744:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:744:18:744:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:744:18:744:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:744:26:744:26 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:745:13:745:13 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:745:17:745:35 | call_trait_m1_3(...) | | main.rs:623:5:624:14 | S1 | +| main.rs:745:33:745:34 | x2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:745:33:745:34 | x2 | T | main.rs:623:5:624:14 | S1 | +| main.rs:746:9:746:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:746:18:746:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:746:18:746:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:746:18:746:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:746:18:746:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:746:18:746:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:746:26:746:26 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:747:13:747:13 | a | | main.rs:625:5:626:14 | S2 | +| main.rs:747:17:747:33 | call_trait_m1(...) | | main.rs:625:5:626:14 | S2 | +| main.rs:747:31:747:32 | y2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:747:31:747:32 | y2 | T | main.rs:625:5:626:14 | S2 | +| main.rs:748:9:748:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:748:18:748:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:748:18:748:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:748:18:748:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:748:18:748:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:748:18:748:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:748:26:748:26 | a | | main.rs:625:5:626:14 | S2 | +| main.rs:749:13:749:13 | a | | main.rs:625:5:626:14 | S2 | +| main.rs:749:17:749:35 | call_trait_m1_2(...) | | main.rs:625:5:626:14 | S2 | +| main.rs:749:33:749:34 | y2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:749:33:749:34 | y2 | T | main.rs:625:5:626:14 | S2 | +| main.rs:750:9:750:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:750:18:750:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:750:18:750:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:750:18:750:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:750:18:750:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:750:18:750:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:750:26:750:26 | a | | main.rs:625:5:626:14 | S2 | +| main.rs:751:13:751:13 | a | | main.rs:625:5:626:14 | S2 | +| main.rs:751:17:751:35 | call_trait_m1_3(...) | | main.rs:625:5:626:14 | S2 | +| main.rs:751:33:751:34 | y2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:751:33:751:34 | y2 | T | main.rs:625:5:626:14 | S2 | +| main.rs:752:9:752:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:752:18:752:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:752:18:752:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:752:18:752:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:752:18:752:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:752:18:752:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:752:26:752:26 | a | | main.rs:625:5:626:14 | S2 | +| main.rs:753:13:753:13 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:753:17:753:38 | call_trait_assoc_1(...) | | main.rs:623:5:624:14 | S1 | +| main.rs:753:36:753:37 | x2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:753:36:753:37 | x2 | T | main.rs:623:5:624:14 | S1 | +| main.rs:754:9:754:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:754:18:754:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:754:18:754:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:754:18:754:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:754:18:754:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:754:18:754:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:754:26:754:26 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:755:13:755:13 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:755:17:755:38 | call_trait_assoc_2(...) | | main.rs:623:5:624:14 | S1 | +| main.rs:755:36:755:37 | x2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:755:36:755:37 | x2 | T | main.rs:623:5:624:14 | S1 | +| main.rs:756:9:756:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:756:18:756:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:756:18:756:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:756:18:756:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:756:18:756:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:756:18:756:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:756:26:756:26 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:757:13:757:13 | a | | main.rs:625:5:626:14 | S2 | +| main.rs:757:17:757:38 | call_trait_assoc_1(...) | | main.rs:625:5:626:14 | S2 | +| main.rs:757:36:757:37 | y2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:757:36:757:37 | y2 | T | main.rs:625:5:626:14 | S2 | +| main.rs:758:9:758:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:758:18:758:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:758:18:758:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:758:18:758:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:758:18:758:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:758:18:758:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:758:26:758:26 | a | | main.rs:625:5:626:14 | S2 | +| main.rs:759:13:759:13 | a | | main.rs:625:5:626:14 | S2 | +| main.rs:759:17:759:38 | call_trait_assoc_2(...) | | main.rs:625:5:626:14 | S2 | +| main.rs:759:36:759:37 | y2 | | main.rs:618:5:621:5 | MyThing | +| main.rs:759:36:759:37 | y2 | T | main.rs:625:5:626:14 | S2 | +| main.rs:760:9:760:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:760:18:760:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:760:18:760:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:760:18:760:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:760:18:760:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:760:18:760:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:760:26:760:26 | a | | main.rs:625:5:626:14 | S2 | +| main.rs:762:13:762:14 | x3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:762:13:762:14 | x3 | T | main.rs:618:5:621:5 | MyThing | +| main.rs:762:13:762:14 | x3 | T.T | main.rs:623:5:624:14 | S1 | +| main.rs:762:18:764:9 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:762:18:764:9 | MyThing {...} | T | main.rs:618:5:621:5 | MyThing | +| main.rs:762:18:764:9 | MyThing {...} | T.T | main.rs:623:5:624:14 | S1 | +| main.rs:763:16:763:32 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:763:16:763:32 | MyThing {...} | T | main.rs:623:5:624:14 | S1 | +| main.rs:763:29:763:30 | S1 | | main.rs:623:5:624:14 | S1 | +| main.rs:765:13:765:14 | y3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:765:13:765:14 | y3 | T | main.rs:618:5:621:5 | MyThing | +| main.rs:765:13:765:14 | y3 | T.T | main.rs:625:5:626:14 | S2 | +| main.rs:765:18:767:9 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:765:18:767:9 | MyThing {...} | T | main.rs:618:5:621:5 | MyThing | +| main.rs:765:18:767:9 | MyThing {...} | T.T | main.rs:625:5:626:14 | S2 | +| main.rs:766:16:766:32 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | +| main.rs:766:16:766:32 | MyThing {...} | T | main.rs:625:5:626:14 | S2 | +| main.rs:766:29:766:30 | S2 | | main.rs:625:5:626:14 | S2 | +| main.rs:769:13:769:13 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:769:17:769:39 | call_trait_thing_m1(...) | | main.rs:623:5:624:14 | S1 | +| main.rs:769:37:769:38 | x3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:769:37:769:38 | x3 | T | main.rs:618:5:621:5 | MyThing | +| main.rs:769:37:769:38 | x3 | T.T | main.rs:623:5:624:14 | S1 | +| main.rs:770:9:770:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:770:18:770:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:770:18:770:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:770:18:770:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:770:18:770:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:770:18:770:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:770:26:770:26 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:771:13:771:13 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:771:17:771:41 | call_trait_thing_m1_2(...) | | main.rs:623:5:624:14 | S1 | +| main.rs:771:39:771:40 | x3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:771:39:771:40 | x3 | T | main.rs:618:5:621:5 | MyThing | +| main.rs:771:39:771:40 | x3 | T.T | main.rs:623:5:624:14 | S1 | +| main.rs:772:9:772:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:772:18:772:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:772:18:772:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:772:18:772:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:772:18:772:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:772:18:772:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:772:26:772:26 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:773:13:773:13 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:773:17:773:41 | call_trait_thing_m1_3(...) | | main.rs:623:5:624:14 | S1 | +| main.rs:773:39:773:40 | x3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:773:39:773:40 | x3 | T | main.rs:618:5:621:5 | MyThing | +| main.rs:773:39:773:40 | x3 | T.T | main.rs:623:5:624:14 | S1 | +| main.rs:774:9:774:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:774:18:774:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:774:18:774:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:774:18:774:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:774:18:774:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:774:18:774:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:774:26:774:26 | a | | main.rs:623:5:624:14 | S1 | +| main.rs:775:13:775:13 | b | | main.rs:625:5:626:14 | S2 | +| main.rs:775:17:775:39 | call_trait_thing_m1(...) | | main.rs:625:5:626:14 | S2 | +| main.rs:775:37:775:38 | y3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:775:37:775:38 | y3 | T | main.rs:618:5:621:5 | MyThing | +| main.rs:775:37:775:38 | y3 | T.T | main.rs:625:5:626:14 | S2 | +| main.rs:776:9:776:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:776:18:776:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:776:18:776:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:776:18:776:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:776:18:776:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:776:18:776:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:776:26:776:26 | b | | main.rs:625:5:626:14 | S2 | +| main.rs:777:13:777:13 | b | | main.rs:625:5:626:14 | S2 | +| main.rs:777:17:777:41 | call_trait_thing_m1_2(...) | | main.rs:625:5:626:14 | S2 | +| main.rs:777:39:777:40 | y3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:777:39:777:40 | y3 | T | main.rs:618:5:621:5 | MyThing | +| main.rs:777:39:777:40 | y3 | T.T | main.rs:625:5:626:14 | S2 | +| main.rs:778:9:778:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:778:18:778:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:778:18:778:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:778:18:778:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:778:18:778:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:778:18:778:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:778:26:778:26 | b | | main.rs:625:5:626:14 | S2 | +| main.rs:779:13:779:13 | b | | main.rs:625:5:626:14 | S2 | +| main.rs:779:17:779:41 | call_trait_thing_m1_3(...) | | main.rs:625:5:626:14 | S2 | +| main.rs:779:39:779:40 | y3 | | main.rs:618:5:621:5 | MyThing | +| main.rs:779:39:779:40 | y3 | T | main.rs:618:5:621:5 | MyThing | +| main.rs:779:39:779:40 | y3 | T.T | main.rs:625:5:626:14 | S2 | +| main.rs:780:9:780:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:780:18:780:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:780:18:780:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:780:18:780:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:780:18:780:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:780:18:780:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:780:26:780:26 | b | | main.rs:625:5:626:14 | S2 | +| main.rs:781:13:781:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:781:17:781:26 | ...::m2(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:781:24:781:25 | S1 | | main.rs:623:5:624:14 | S1 | +| main.rs:782:13:782:13 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:782:22:782:31 | ...::m2(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:782:29:782:30 | S2 | | main.rs:625:5:626:14 | S2 | +| main.rs:799:15:799:18 | SelfParam | | main.rs:787:5:791:5 | MyEnum | +| main.rs:799:15:799:18 | SelfParam | A | main.rs:798:10:798:10 | T | +| main.rs:799:26:804:9 | { ... } | | main.rs:798:10:798:10 | T | +| main.rs:800:13:803:13 | match self { ... } | | main.rs:798:10:798:10 | T | +| main.rs:800:19:800:22 | self | | main.rs:787:5:791:5 | MyEnum | +| main.rs:800:19:800:22 | self | A | main.rs:798:10:798:10 | T | +| main.rs:801:17:801:29 | ...::C1(...) | | main.rs:787:5:791:5 | MyEnum | +| main.rs:801:17:801:29 | ...::C1(...) | A | main.rs:798:10:798:10 | T | +| main.rs:801:28:801:28 | a | | main.rs:798:10:798:10 | T | +| main.rs:801:34:801:34 | a | | main.rs:798:10:798:10 | T | +| main.rs:802:17:802:32 | ...::C2 {...} | | main.rs:787:5:791:5 | MyEnum | +| main.rs:802:17:802:32 | ...::C2 {...} | A | main.rs:798:10:798:10 | T | +| main.rs:802:30:802:30 | a | | main.rs:798:10:798:10 | T | +| main.rs:802:37:802:37 | a | | main.rs:798:10:798:10 | T | +| main.rs:807:16:813:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:808:13:808:13 | x | | main.rs:787:5:791:5 | MyEnum | +| main.rs:808:13:808:13 | x | A | main.rs:793:5:794:14 | S1 | +| main.rs:808:17:808:30 | ...::C1(...) | | main.rs:787:5:791:5 | MyEnum | +| main.rs:808:17:808:30 | ...::C1(...) | A | main.rs:793:5:794:14 | S1 | +| main.rs:808:28:808:29 | S1 | | main.rs:793:5:794:14 | S1 | +| main.rs:809:13:809:13 | y | | main.rs:787:5:791:5 | MyEnum | +| main.rs:809:13:809:13 | y | A | main.rs:795:5:796:14 | S2 | +| main.rs:809:17:809:36 | ...::C2 {...} | | main.rs:787:5:791:5 | MyEnum | +| main.rs:809:17:809:36 | ...::C2 {...} | A | main.rs:795:5:796:14 | S2 | +| main.rs:809:33:809:34 | S2 | | main.rs:795:5:796:14 | S2 | +| main.rs:811:9:811:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:811:18:811:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:811:18:811:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:811:18:811:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:811:18:811:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:811:18:811:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:811:26:811:26 | x | | main.rs:787:5:791:5 | MyEnum | +| main.rs:811:26:811:26 | x | A | main.rs:793:5:794:14 | S1 | +| main.rs:811:26:811:31 | x.m1() | | main.rs:793:5:794:14 | S1 | +| main.rs:812:9:812:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:812:18:812:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:812:18:812:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:812:18:812:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:812:18:812:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:812:18:812:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:812:26:812:26 | y | | main.rs:787:5:791:5 | MyEnum | +| main.rs:812:26:812:26 | y | A | main.rs:795:5:796:14 | S2 | +| main.rs:812:26:812:31 | y.m1() | | main.rs:795:5:796:14 | S2 | +| main.rs:834:15:834:18 | SelfParam | | main.rs:832:5:835:5 | Self [trait MyTrait1] | +| main.rs:839:15:839:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:839:15:839:19 | SelfParam | TRef | main.rs:837:5:849:5 | Self [trait MyTrait2] | +| main.rs:842:9:848:9 | { ... } | | main.rs:837:20:837:22 | Tr2 | +| main.rs:843:13:847:13 | if ... {...} else {...} | | main.rs:837:20:837:22 | Tr2 | +| main.rs:843:16:843:16 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:843:16:843:20 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:843:20:843:20 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:843:22:845:13 | { ... } | | main.rs:837:20:837:22 | Tr2 | +| main.rs:844:17:844:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:844:17:844:20 | self | TRef | main.rs:837:5:849:5 | Self [trait MyTrait2] | +| main.rs:844:17:844:25 | self.m1() | | main.rs:837:20:837:22 | Tr2 | +| main.rs:845:20:847:13 | { ... } | | main.rs:837:20:837:22 | Tr2 | +| main.rs:846:17:846:31 | ...::m1(...) | | main.rs:837:20:837:22 | Tr2 | +| main.rs:846:26:846:30 | * ... | | main.rs:837:5:849:5 | Self [trait MyTrait2] | +| main.rs:846:27:846:30 | self | | {EXTERNAL LOCATION} | & | +| main.rs:846:27:846:30 | self | TRef | main.rs:837:5:849:5 | Self [trait MyTrait2] | +| main.rs:853:15:853:18 | SelfParam | | main.rs:851:5:863:5 | Self [trait MyTrait3] | +| main.rs:856:9:862:9 | { ... } | | main.rs:851:20:851:22 | Tr3 | +| main.rs:857:13:861:13 | if ... {...} else {...} | | main.rs:851:20:851:22 | Tr3 | +| main.rs:857:16:857:16 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:857:16:857:20 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:857:20:857:20 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:857:22:859:13 | { ... } | | main.rs:851:20:851:22 | Tr3 | +| main.rs:858:17:858:20 | self | | main.rs:851:5:863:5 | Self [trait MyTrait3] | +| main.rs:858:17:858:25 | self.m2() | | main.rs:817:5:820:5 | MyThing | +| main.rs:858:17:858:25 | self.m2() | A | main.rs:851:20:851:22 | Tr3 | +| main.rs:858:17:858:27 | ... .a | | main.rs:851:20:851:22 | Tr3 | +| main.rs:859:20:861:13 | { ... } | | main.rs:851:20:851:22 | Tr3 | +| main.rs:860:17:860:31 | ...::m2(...) | | main.rs:817:5:820:5 | MyThing | +| main.rs:860:17:860:31 | ...::m2(...) | A | main.rs:851:20:851:22 | Tr3 | +| main.rs:860:17:860:33 | ... .a | | main.rs:851:20:851:22 | Tr3 | +| main.rs:860:26:860:30 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:860:26:860:30 | &self | TRef | main.rs:851:5:863:5 | Self [trait MyTrait3] | +| main.rs:860:27:860:30 | self | | main.rs:851:5:863:5 | Self [trait MyTrait3] | +| main.rs:867:15:867:18 | SelfParam | | main.rs:817:5:820:5 | MyThing | +| main.rs:867:15:867:18 | SelfParam | A | main.rs:865:10:865:10 | T | +| main.rs:867:26:869:9 | { ... } | | main.rs:865:10:865:10 | T | +| main.rs:868:13:868:16 | self | | main.rs:817:5:820:5 | MyThing | +| main.rs:868:13:868:16 | self | A | main.rs:865:10:865:10 | T | +| main.rs:868:13:868:18 | self.a | | main.rs:865:10:865:10 | T | +| main.rs:876:15:876:18 | SelfParam | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:876:15:876:18 | SelfParam | A | main.rs:874:10:874:10 | T | +| main.rs:876:35:878:9 | { ... } | | main.rs:817:5:820:5 | MyThing | +| main.rs:876:35:878:9 | { ... } | A | main.rs:874:10:874:10 | T | +| main.rs:877:13:877:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | +| main.rs:877:13:877:33 | MyThing {...} | A | main.rs:874:10:874:10 | T | +| main.rs:877:26:877:29 | self | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:877:26:877:29 | self | A | main.rs:874:10:874:10 | T | +| main.rs:877:26:877:31 | self.a | | main.rs:874:10:874:10 | T | +| main.rs:885:44:885:44 | x | | main.rs:885:26:885:41 | T2 | +| main.rs:885:57:887:5 | { ... } | | main.rs:885:22:885:23 | T1 | +| main.rs:886:9:886:9 | x | | main.rs:885:26:885:41 | T2 | +| main.rs:886:9:886:14 | x.m1() | | main.rs:885:22:885:23 | T1 | +| main.rs:889:56:889:56 | x | | main.rs:889:39:889:53 | T | +| main.rs:889:62:893:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:891:13:891:13 | a | | main.rs:817:5:820:5 | MyThing | +| main.rs:891:13:891:13 | a | A | main.rs:827:5:828:14 | S1 | +| main.rs:891:17:891:17 | x | | main.rs:889:39:889:53 | T | +| main.rs:891:17:891:22 | x.m1() | | main.rs:817:5:820:5 | MyThing | +| main.rs:891:17:891:22 | x.m1() | A | main.rs:827:5:828:14 | S1 | +| main.rs:892:9:892:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:892:18:892:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:892:18:892:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:892:18:892:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:892:18:892:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:892:18:892:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:892:26:892:26 | a | | main.rs:817:5:820:5 | MyThing | +| main.rs:892:26:892:26 | a | A | main.rs:827:5:828:14 | S1 | +| main.rs:895:16:919:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:896:13:896:13 | x | | main.rs:817:5:820:5 | MyThing | +| main.rs:896:13:896:13 | x | A | main.rs:827:5:828:14 | S1 | +| main.rs:896:17:896:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | +| main.rs:896:17:896:33 | MyThing {...} | A | main.rs:827:5:828:14 | S1 | +| main.rs:896:30:896:31 | S1 | | main.rs:827:5:828:14 | S1 | +| main.rs:897:13:897:13 | y | | main.rs:817:5:820:5 | MyThing | +| main.rs:897:13:897:13 | y | A | main.rs:829:5:830:14 | S2 | +| main.rs:897:17:897:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | +| main.rs:897:17:897:33 | MyThing {...} | A | main.rs:829:5:830:14 | S2 | +| main.rs:897:30:897:31 | S2 | | main.rs:829:5:830:14 | S2 | +| main.rs:899:9:899:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:899:18:899:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:899:18:899:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:899:18:899:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:899:18:899:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:899:18:899:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:899:26:899:26 | x | | main.rs:817:5:820:5 | MyThing | +| main.rs:899:26:899:26 | x | A | main.rs:827:5:828:14 | S1 | +| main.rs:899:26:899:31 | x.m1() | | main.rs:827:5:828:14 | S1 | +| main.rs:900:9:900:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:900:18:900:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:900:18:900:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:900:18:900:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:900:18:900:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:900:18:900:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:900:26:900:26 | y | | main.rs:817:5:820:5 | MyThing | +| main.rs:900:26:900:26 | y | A | main.rs:829:5:830:14 | S2 | +| main.rs:900:26:900:31 | y.m1() | | main.rs:829:5:830:14 | S2 | +| main.rs:902:13:902:13 | x | | main.rs:817:5:820:5 | MyThing | +| main.rs:902:13:902:13 | x | A | main.rs:827:5:828:14 | S1 | +| main.rs:902:17:902:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | +| main.rs:902:17:902:33 | MyThing {...} | A | main.rs:827:5:828:14 | S1 | +| main.rs:902:30:902:31 | S1 | | main.rs:827:5:828:14 | S1 | +| main.rs:903:13:903:13 | y | | main.rs:817:5:820:5 | MyThing | +| main.rs:903:13:903:13 | y | A | main.rs:829:5:830:14 | S2 | +| main.rs:903:17:903:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | +| main.rs:903:17:903:33 | MyThing {...} | A | main.rs:829:5:830:14 | S2 | +| main.rs:903:30:903:31 | S2 | | main.rs:829:5:830:14 | S2 | +| main.rs:905:9:905:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:905:18:905:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:905:18:905:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:905:18:905:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:905:18:905:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:905:18:905:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:905:26:905:26 | x | | main.rs:817:5:820:5 | MyThing | +| main.rs:905:26:905:26 | x | A | main.rs:827:5:828:14 | S1 | +| main.rs:905:26:905:31 | x.m2() | | main.rs:827:5:828:14 | S1 | +| main.rs:906:9:906:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:906:18:906:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:906:18:906:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:906:18:906:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:906:18:906:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:906:18:906:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:906:26:906:26 | y | | main.rs:817:5:820:5 | MyThing | +| main.rs:906:26:906:26 | y | A | main.rs:829:5:830:14 | S2 | +| main.rs:906:26:906:31 | y.m2() | | main.rs:829:5:830:14 | S2 | +| main.rs:908:13:908:13 | x | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:908:13:908:13 | x | A | main.rs:827:5:828:14 | S1 | +| main.rs:908:17:908:34 | MyThing2 {...} | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:908:17:908:34 | MyThing2 {...} | A | main.rs:827:5:828:14 | S1 | +| main.rs:908:31:908:32 | S1 | | main.rs:827:5:828:14 | S1 | +| main.rs:909:13:909:13 | y | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:909:13:909:13 | y | A | main.rs:829:5:830:14 | S2 | +| main.rs:909:17:909:34 | MyThing2 {...} | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:909:17:909:34 | MyThing2 {...} | A | main.rs:829:5:830:14 | S2 | +| main.rs:909:31:909:32 | S2 | | main.rs:829:5:830:14 | S2 | +| main.rs:911:9:911:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:911:18:911:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:911:18:911:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:911:18:911:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:911:18:911:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:911:18:911:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:911:26:911:26 | x | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:911:26:911:26 | x | A | main.rs:827:5:828:14 | S1 | +| main.rs:911:26:911:31 | x.m3() | | main.rs:827:5:828:14 | S1 | +| main.rs:912:9:912:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:912:18:912:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:912:18:912:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:912:18:912:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:912:18:912:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:912:18:912:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:912:26:912:26 | y | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:912:26:912:26 | y | A | main.rs:829:5:830:14 | S2 | +| main.rs:912:26:912:31 | y.m3() | | main.rs:829:5:830:14 | S2 | +| main.rs:914:13:914:13 | x | | main.rs:817:5:820:5 | MyThing | +| main.rs:914:13:914:13 | x | A | main.rs:827:5:828:14 | S1 | +| main.rs:914:17:914:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | +| main.rs:914:17:914:33 | MyThing {...} | A | main.rs:827:5:828:14 | S1 | +| main.rs:914:30:914:31 | S1 | | main.rs:827:5:828:14 | S1 | +| main.rs:915:13:915:13 | s | | main.rs:827:5:828:14 | S1 | +| main.rs:915:17:915:32 | call_trait_m1(...) | | main.rs:827:5:828:14 | S1 | +| main.rs:915:31:915:31 | x | | main.rs:817:5:820:5 | MyThing | +| main.rs:915:31:915:31 | x | A | main.rs:827:5:828:14 | S1 | +| main.rs:917:13:917:13 | x | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:917:13:917:13 | x | A | main.rs:829:5:830:14 | S2 | +| main.rs:917:17:917:34 | MyThing2 {...} | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:917:17:917:34 | MyThing2 {...} | A | main.rs:829:5:830:14 | S2 | +| main.rs:917:31:917:32 | S2 | | main.rs:829:5:830:14 | S2 | +| main.rs:918:13:918:13 | s | | main.rs:817:5:820:5 | MyThing | +| main.rs:918:13:918:13 | s | A | main.rs:829:5:830:14 | S2 | +| main.rs:918:17:918:32 | call_trait_m1(...) | | main.rs:817:5:820:5 | MyThing | +| main.rs:918:17:918:32 | call_trait_m1(...) | A | main.rs:829:5:830:14 | S2 | +| main.rs:918:31:918:31 | x | | main.rs:822:5:825:5 | MyThing2 | +| main.rs:918:31:918:31 | x | A | main.rs:829:5:830:14 | S2 | +| main.rs:935:22:935:22 | x | | {EXTERNAL LOCATION} | & | +| main.rs:935:22:935:22 | x | TRef | main.rs:935:11:935:19 | T | +| main.rs:935:35:937:5 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:935:35:937:5 | { ... } | TRef | main.rs:935:11:935:19 | T | +| main.rs:936:9:936:9 | x | | {EXTERNAL LOCATION} | & | +| main.rs:936:9:936:9 | x | TRef | main.rs:935:11:935:19 | T | +| main.rs:940:17:940:20 | SelfParam | | main.rs:925:5:926:14 | S1 | +| main.rs:940:29:942:9 | { ... } | | main.rs:928:5:929:14 | S2 | +| main.rs:941:13:941:14 | S2 | | main.rs:928:5:929:14 | S2 | +| main.rs:945:21:945:21 | x | | main.rs:945:13:945:14 | T1 | +| main.rs:948:5:950:5 | { ... } | | main.rs:945:17:945:18 | T2 | +| main.rs:949:9:949:9 | x | | main.rs:945:13:945:14 | T1 | +| main.rs:949:9:949:16 | x.into() | | main.rs:945:17:945:18 | T2 | +| main.rs:952:16:968:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:953:13:953:13 | x | | main.rs:925:5:926:14 | S1 | +| main.rs:953:17:953:18 | S1 | | main.rs:925:5:926:14 | S1 | +| main.rs:954:9:954:32 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:954:18:954:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:954:18:954:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:954:18:954:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:954:18:954:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:954:18:954:31 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:954:26:954:31 | id(...) | | {EXTERNAL LOCATION} | & | +| main.rs:954:26:954:31 | id(...) | TRef | main.rs:925:5:926:14 | S1 | +| main.rs:954:29:954:30 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:954:29:954:30 | &x | TRef | main.rs:925:5:926:14 | S1 | +| main.rs:954:30:954:30 | x | | main.rs:925:5:926:14 | S1 | +| main.rs:956:13:956:13 | x | | main.rs:925:5:926:14 | S1 | +| main.rs:956:17:956:18 | S1 | | main.rs:925:5:926:14 | S1 | +| main.rs:957:9:957:38 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:957:18:957:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:957:18:957:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:957:18:957:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:957:18:957:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:957:18:957:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:957:26:957:37 | id::<...>(...) | | {EXTERNAL LOCATION} | & | +| main.rs:957:26:957:37 | id::<...>(...) | TRef | main.rs:925:5:926:14 | S1 | +| main.rs:957:35:957:36 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:957:35:957:36 | &x | TRef | main.rs:925:5:926:14 | S1 | +| main.rs:957:36:957:36 | x | | main.rs:925:5:926:14 | S1 | +| main.rs:959:13:959:13 | x | | main.rs:925:5:926:14 | S1 | +| main.rs:959:17:959:18 | S1 | | main.rs:925:5:926:14 | S1 | +| main.rs:961:9:961:45 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:961:18:961:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:961:18:961:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:961:18:961:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:961:18:961:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:961:18:961:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:961:26:961:44 | id::<...>(...) | | {EXTERNAL LOCATION} | & | +| main.rs:961:26:961:44 | id::<...>(...) | TRef | main.rs:931:5:931:25 | dyn Trait | +| main.rs:961:42:961:43 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:961:42:961:43 | &x | TRef | main.rs:925:5:926:14 | S1 | +| main.rs:961:43:961:43 | x | | main.rs:925:5:926:14 | S1 | +| main.rs:963:13:963:13 | x | | main.rs:925:5:926:14 | S1 | +| main.rs:963:17:963:18 | S1 | | main.rs:925:5:926:14 | S1 | +| main.rs:964:9:964:25 | into::<...>(...) | | main.rs:928:5:929:14 | S2 | +| main.rs:964:24:964:24 | x | | main.rs:925:5:926:14 | S1 | +| main.rs:966:13:966:13 | x | | main.rs:925:5:926:14 | S1 | +| main.rs:966:17:966:18 | S1 | | main.rs:925:5:926:14 | S1 | +| main.rs:967:13:967:13 | y | | main.rs:928:5:929:14 | S2 | +| main.rs:967:21:967:27 | into(...) | | main.rs:928:5:929:14 | S2 | +| main.rs:967:26:967:26 | x | | main.rs:925:5:926:14 | S1 | +| main.rs:981:22:981:25 | SelfParam | | main.rs:972:5:978:5 | PairOption | +| main.rs:981:22:981:25 | SelfParam | Fst | main.rs:980:10:980:12 | Fst | +| main.rs:981:22:981:25 | SelfParam | Snd | main.rs:980:15:980:17 | Snd | +| main.rs:981:35:988:9 | { ... } | | main.rs:980:15:980:17 | Snd | +| main.rs:982:13:987:13 | match self { ... } | | file://:0:0:0:0 | ! | +| main.rs:982:13:987:13 | match self { ... } | | main.rs:980:15:980:17 | Snd | +| main.rs:982:19:982:22 | self | | main.rs:972:5:978:5 | PairOption | +| main.rs:982:19:982:22 | self | Fst | main.rs:980:10:980:12 | Fst | +| main.rs:982:19:982:22 | self | Snd | main.rs:980:15:980:17 | Snd | +| main.rs:983:17:983:38 | ...::PairNone(...) | | main.rs:972:5:978:5 | PairOption | +| main.rs:983:17:983:38 | ...::PairNone(...) | Fst | main.rs:980:10:980:12 | Fst | +| main.rs:983:17:983:38 | ...::PairNone(...) | Snd | main.rs:980:15:980:17 | Snd | +| main.rs:983:43:983:82 | MacroExpr | | file://:0:0:0:0 | ! | +| main.rs:983:50:983:81 | "PairNone has no second elemen... | | {EXTERNAL LOCATION} | & | +| main.rs:983:50:983:81 | "PairNone has no second elemen... | TRef | {EXTERNAL LOCATION} | str | +| main.rs:983:50:983:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | +| main.rs:983:50:983:81 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:983:50:983:81 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:984:17:984:38 | ...::PairFst(...) | | main.rs:972:5:978:5 | PairOption | +| main.rs:984:17:984:38 | ...::PairFst(...) | Fst | main.rs:980:10:980:12 | Fst | +| main.rs:984:17:984:38 | ...::PairFst(...) | Snd | main.rs:980:15:980:17 | Snd | +| main.rs:984:37:984:37 | _ | | main.rs:980:10:980:12 | Fst | +| main.rs:984:43:984:81 | MacroExpr | | file://:0:0:0:0 | ! | +| main.rs:984:50:984:80 | "PairFst has no second element... | | {EXTERNAL LOCATION} | & | +| main.rs:984:50:984:80 | "PairFst has no second element... | TRef | {EXTERNAL LOCATION} | str | +| main.rs:984:50:984:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | +| main.rs:984:50:984:80 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:984:50:984:80 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:985:17:985:40 | ...::PairSnd(...) | | main.rs:972:5:978:5 | PairOption | +| main.rs:985:17:985:40 | ...::PairSnd(...) | Fst | main.rs:980:10:980:12 | Fst | +| main.rs:985:17:985:40 | ...::PairSnd(...) | Snd | main.rs:980:15:980:17 | Snd | +| main.rs:985:37:985:39 | snd | | main.rs:980:15:980:17 | Snd | +| main.rs:985:45:985:47 | snd | | main.rs:980:15:980:17 | Snd | +| main.rs:986:17:986:44 | ...::PairBoth(...) | | main.rs:972:5:978:5 | PairOption | +| main.rs:986:17:986:44 | ...::PairBoth(...) | Fst | main.rs:980:10:980:12 | Fst | +| main.rs:986:17:986:44 | ...::PairBoth(...) | Snd | main.rs:980:15:980:17 | Snd | +| main.rs:986:38:986:38 | _ | | main.rs:980:10:980:12 | Fst | +| main.rs:986:41:986:43 | snd | | main.rs:980:15:980:17 | Snd | +| main.rs:986:49:986:51 | snd | | main.rs:980:15:980:17 | Snd | +| main.rs:1012:10:1012:10 | t | | main.rs:972:5:978:5 | PairOption | +| main.rs:1012:10:1012:10 | t | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1012:10:1012:10 | t | Snd | main.rs:972:5:978:5 | PairOption | +| main.rs:1012:10:1012:10 | t | Snd.Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1012:10:1012:10 | t | Snd.Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1012:30:1015:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1013:13:1013:13 | x | | main.rs:997:5:998:14 | S3 | +| main.rs:1013:17:1013:17 | t | | main.rs:972:5:978:5 | PairOption | +| main.rs:1013:17:1013:17 | t | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1013:17:1013:17 | t | Snd | main.rs:972:5:978:5 | PairOption | +| main.rs:1013:17:1013:17 | t | Snd.Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1013:17:1013:17 | t | Snd.Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1013:17:1013:29 | t.unwrapSnd() | | main.rs:972:5:978:5 | PairOption | +| main.rs:1013:17:1013:29 | t.unwrapSnd() | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1013:17:1013:29 | t.unwrapSnd() | Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1013:17:1013:41 | ... .unwrapSnd() | | main.rs:997:5:998:14 | S3 | +| main.rs:1014:9:1014:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1014:18:1014:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1014:18:1014:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1014:18:1014:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1014:18:1014:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1014:18:1014:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1014:26:1014:26 | x | | main.rs:997:5:998:14 | S3 | +| main.rs:1025:16:1045:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1027:13:1027:14 | p1 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1027:13:1027:14 | p1 | Fst | main.rs:991:5:992:14 | S1 | +| main.rs:1027:13:1027:14 | p1 | Snd | main.rs:994:5:995:14 | S2 | +| main.rs:1027:26:1027:53 | ...::PairBoth(...) | | main.rs:972:5:978:5 | PairOption | +| main.rs:1027:26:1027:53 | ...::PairBoth(...) | Fst | main.rs:991:5:992:14 | S1 | +| main.rs:1027:26:1027:53 | ...::PairBoth(...) | Snd | main.rs:994:5:995:14 | S2 | +| main.rs:1027:47:1027:48 | S1 | | main.rs:991:5:992:14 | S1 | +| main.rs:1027:51:1027:52 | S2 | | main.rs:994:5:995:14 | S2 | +| main.rs:1028:9:1028:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1028:18:1028:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1028:18:1028:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1028:18:1028:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1028:18:1028:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1028:18:1028:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1028:26:1028:27 | p1 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1028:26:1028:27 | p1 | Fst | main.rs:991:5:992:14 | S1 | +| main.rs:1028:26:1028:27 | p1 | Snd | main.rs:994:5:995:14 | S2 | +| main.rs:1031:13:1031:14 | p2 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1031:13:1031:14 | p2 | Fst | main.rs:991:5:992:14 | S1 | +| main.rs:1031:13:1031:14 | p2 | Snd | main.rs:994:5:995:14 | S2 | +| main.rs:1031:26:1031:47 | ...::PairNone(...) | | main.rs:972:5:978:5 | PairOption | +| main.rs:1031:26:1031:47 | ...::PairNone(...) | Fst | main.rs:991:5:992:14 | S1 | +| main.rs:1031:26:1031:47 | ...::PairNone(...) | Snd | main.rs:994:5:995:14 | S2 | +| main.rs:1032:9:1032:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1032:18:1032:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1032:18:1032:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1032:18:1032:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1032:18:1032:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1032:18:1032:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1032:26:1032:27 | p2 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1032:26:1032:27 | p2 | Fst | main.rs:991:5:992:14 | S1 | +| main.rs:1032:26:1032:27 | p2 | Snd | main.rs:994:5:995:14 | S2 | +| main.rs:1035:13:1035:14 | p3 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1035:13:1035:14 | p3 | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1035:13:1035:14 | p3 | Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1035:34:1035:56 | ...::PairSnd(...) | | main.rs:972:5:978:5 | PairOption | +| main.rs:1035:34:1035:56 | ...::PairSnd(...) | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1035:34:1035:56 | ...::PairSnd(...) | Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1035:54:1035:55 | S3 | | main.rs:997:5:998:14 | S3 | +| main.rs:1036:9:1036:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1036:18:1036:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1036:18:1036:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1036:18:1036:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1036:18:1036:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1036:18:1036:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1036:26:1036:27 | p3 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1036:26:1036:27 | p3 | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1036:26:1036:27 | p3 | Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1039:13:1039:14 | p3 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1039:13:1039:14 | p3 | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1039:13:1039:14 | p3 | Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1039:35:1039:56 | ...::PairNone(...) | | main.rs:972:5:978:5 | PairOption | +| main.rs:1039:35:1039:56 | ...::PairNone(...) | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1039:35:1039:56 | ...::PairNone(...) | Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1040:9:1040:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1040:18:1040:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1040:18:1040:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1040:18:1040:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1040:18:1040:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1040:18:1040:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1040:26:1040:27 | p3 | | main.rs:972:5:978:5 | PairOption | +| main.rs:1040:26:1040:27 | p3 | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1040:26:1040:27 | p3 | Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1042:9:1042:55 | g(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1042:11:1042:54 | ...::PairSnd(...) | | main.rs:972:5:978:5 | PairOption | +| main.rs:1042:11:1042:54 | ...::PairSnd(...) | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1042:11:1042:54 | ...::PairSnd(...) | Snd | main.rs:972:5:978:5 | PairOption | +| main.rs:1042:11:1042:54 | ...::PairSnd(...) | Snd.Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1042:11:1042:54 | ...::PairSnd(...) | Snd.Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1042:31:1042:53 | ...::PairSnd(...) | | main.rs:972:5:978:5 | PairOption | +| main.rs:1042:31:1042:53 | ...::PairSnd(...) | Fst | main.rs:994:5:995:14 | S2 | +| main.rs:1042:31:1042:53 | ...::PairSnd(...) | Snd | main.rs:997:5:998:14 | S3 | +| main.rs:1042:51:1042:52 | S3 | | main.rs:997:5:998:14 | S3 | +| main.rs:1044:13:1044:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1044:13:1044:13 | x | E | main.rs:991:5:992:14 | S1 | +| main.rs:1044:13:1044:13 | x | T | main.rs:1017:5:1017:34 | S4 | +| main.rs:1044:13:1044:13 | x | T.T41 | main.rs:994:5:995:14 | S2 | +| main.rs:1044:13:1044:13 | x | T.T42 | main.rs:1019:5:1019:22 | S5 | +| main.rs:1044:13:1044:13 | x | T.T42.T5 | main.rs:994:5:995:14 | S2 | +| main.rs:1057:16:1057:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1057:16:1057:24 | SelfParam | TRefMut | main.rs:1055:5:1062:5 | Self [trait MyTrait] | +| main.rs:1057:27:1057:31 | value | | main.rs:1055:19:1055:19 | S | +| main.rs:1059:21:1059:29 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1059:21:1059:29 | SelfParam | TRefMut | main.rs:1055:5:1062:5 | Self [trait MyTrait] | +| main.rs:1059:32:1059:36 | value | | main.rs:1055:19:1055:19 | S | +| main.rs:1059:42:1061:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1060:13:1060:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1060:13:1060:16 | self | TRefMut | main.rs:1055:5:1062:5 | Self [trait MyTrait] | +| main.rs:1060:13:1060:27 | self.set(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1060:22:1060:26 | value | | main.rs:1055:19:1055:19 | S | +| main.rs:1066:16:1066:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1066:16:1066:24 | SelfParam | TRefMut | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1066:16:1066:24 | SelfParam | TRefMut.T | main.rs:1064:10:1064:10 | T | +| main.rs:1066:27:1066:31 | value | | main.rs:1064:10:1064:10 | T | +| main.rs:1066:37:1066:38 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1070:26:1072:9 | { ... } | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1070:26:1072:9 | { ... } | T | main.rs:1069:10:1069:10 | T | +| main.rs:1071:13:1071:30 | ...::MyNone(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1071:13:1071:30 | ...::MyNone(...) | T | main.rs:1069:10:1069:10 | T | +| main.rs:1076:20:1076:23 | SelfParam | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1076:20:1076:23 | SelfParam | T | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1076:20:1076:23 | SelfParam | T.T | main.rs:1075:10:1075:10 | T | +| main.rs:1076:41:1081:9 | { ... } | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1076:41:1081:9 | { ... } | T | main.rs:1075:10:1075:10 | T | +| main.rs:1077:13:1080:13 | match self { ... } | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1077:13:1080:13 | match self { ... } | T | main.rs:1075:10:1075:10 | T | +| main.rs:1077:19:1077:22 | self | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1077:19:1077:22 | self | T | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1077:19:1077:22 | self | T.T | main.rs:1075:10:1075:10 | T | +| main.rs:1078:17:1078:34 | ...::MyNone(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1078:17:1078:34 | ...::MyNone(...) | T | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1078:17:1078:34 | ...::MyNone(...) | T.T | main.rs:1075:10:1075:10 | T | +| main.rs:1078:39:1078:56 | ...::MyNone(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1078:39:1078:56 | ...::MyNone(...) | T | main.rs:1075:10:1075:10 | T | +| main.rs:1079:17:1079:35 | ...::MySome(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1079:17:1079:35 | ...::MySome(...) | T | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1079:17:1079:35 | ...::MySome(...) | T.T | main.rs:1075:10:1075:10 | T | +| main.rs:1079:34:1079:34 | x | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1079:34:1079:34 | x | T | main.rs:1075:10:1075:10 | T | +| main.rs:1079:40:1079:40 | x | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1079:40:1079:40 | x | T | main.rs:1075:10:1075:10 | T | +| main.rs:1087:16:1132:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1088:13:1088:14 | x1 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1088:13:1088:14 | x1 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1088:18:1088:37 | ...::new(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1088:18:1088:37 | ...::new(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1089:9:1089:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1089:18:1089:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1089:18:1089:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1089:18:1089:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1089:18:1089:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1089:18:1089:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1089:26:1089:27 | x1 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1089:26:1089:27 | x1 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1091:17:1091:18 | x2 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1091:17:1091:18 | x2 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1091:22:1091:36 | ...::new(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1091:22:1091:36 | ...::new(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1092:9:1092:10 | x2 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1092:9:1092:10 | x2 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1092:9:1092:17 | x2.set(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1092:16:1092:16 | S | | main.rs:1084:5:1085:13 | S | +| main.rs:1093:9:1093:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1093:18:1093:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1093:18:1093:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1093:18:1093:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1093:18:1093:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1093:18:1093:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1093:26:1093:27 | x2 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1093:26:1093:27 | x2 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1095:17:1095:18 | x3 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1095:17:1095:18 | x3 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1095:22:1095:36 | ...::new(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1095:22:1095:36 | ...::new(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1096:9:1096:10 | x3 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1096:9:1096:10 | x3 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1096:9:1096:22 | x3.call_set(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1096:21:1096:21 | S | | main.rs:1084:5:1085:13 | S | +| main.rs:1097:9:1097:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1097:18:1097:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1097:18:1097:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1097:18:1097:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1097:18:1097:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1097:18:1097:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1097:26:1097:27 | x3 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1097:26:1097:27 | x3 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1099:17:1099:18 | x4 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1099:17:1099:18 | x4 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1099:22:1099:36 | ...::new(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1099:22:1099:36 | ...::new(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1100:9:1100:33 | ...::set(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1100:23:1100:29 | &mut x4 | | {EXTERNAL LOCATION} | &mut | +| main.rs:1100:23:1100:29 | &mut x4 | TRefMut | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1100:23:1100:29 | &mut x4 | TRefMut.T | main.rs:1084:5:1085:13 | S | +| main.rs:1100:28:1100:29 | x4 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1100:28:1100:29 | x4 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1100:32:1100:32 | S | | main.rs:1084:5:1085:13 | S | +| main.rs:1101:9:1101:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1101:18:1101:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1101:18:1101:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1101:18:1101:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1101:18:1101:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1101:18:1101:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1101:26:1101:27 | x4 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1101:26:1101:27 | x4 | T | main.rs:1084:5:1085:13 | S | +| main.rs:1103:13:1103:14 | x5 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1103:13:1103:14 | x5 | T | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1103:13:1103:14 | x5 | T.T | main.rs:1084:5:1085:13 | S | +| main.rs:1103:18:1103:58 | ...::MySome(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1103:18:1103:58 | ...::MySome(...) | T | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1103:18:1103:58 | ...::MySome(...) | T.T | main.rs:1084:5:1085:13 | S | +| main.rs:1103:35:1103:57 | ...::MyNone(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1103:35:1103:57 | ...::MyNone(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1104:9:1104:38 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1104:18:1104:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1104:18:1104:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1104:18:1104:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1104:18:1104:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1104:18:1104:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1104:26:1104:27 | x5 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1104:26:1104:27 | x5 | T | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1104:26:1104:27 | x5 | T.T | main.rs:1084:5:1085:13 | S | +| main.rs:1104:26:1104:37 | x5.flatten() | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1104:26:1104:37 | x5.flatten() | T | main.rs:1084:5:1085:13 | S | +| main.rs:1106:13:1106:14 | x6 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1106:13:1106:14 | x6 | T | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1106:13:1106:14 | x6 | T.T | main.rs:1084:5:1085:13 | S | +| main.rs:1106:18:1106:58 | ...::MySome(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1106:18:1106:58 | ...::MySome(...) | T | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1106:18:1106:58 | ...::MySome(...) | T.T | main.rs:1084:5:1085:13 | S | +| main.rs:1106:35:1106:57 | ...::MyNone(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1106:35:1106:57 | ...::MyNone(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1107:9:1107:62 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1107:18:1107:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1107:18:1107:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1107:18:1107:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1107:18:1107:61 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1107:18:1107:61 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1107:26:1107:61 | ...::flatten(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1107:26:1107:61 | ...::flatten(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1107:59:1107:60 | x6 | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1107:59:1107:60 | x6 | T | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1107:59:1107:60 | x6 | T.T | main.rs:1084:5:1085:13 | S | +| main.rs:1110:13:1110:19 | from_if | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1110:13:1110:19 | from_if | T | main.rs:1084:5:1085:13 | S | +| main.rs:1110:23:1114:9 | if ... {...} else {...} | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1110:23:1114:9 | if ... {...} else {...} | T | main.rs:1084:5:1085:13 | S | +| main.rs:1110:26:1110:26 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1110:26:1110:30 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1110:30:1110:30 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1110:32:1112:9 | { ... } | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1110:32:1112:9 | { ... } | T | main.rs:1084:5:1085:13 | S | +| main.rs:1111:13:1111:30 | ...::MyNone(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1111:13:1111:30 | ...::MyNone(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1112:16:1114:9 | { ... } | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1112:16:1114:9 | { ... } | T | main.rs:1084:5:1085:13 | S | +| main.rs:1113:13:1113:31 | ...::MySome(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1113:13:1113:31 | ...::MySome(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1113:30:1113:30 | S | | main.rs:1084:5:1085:13 | S | +| main.rs:1115:9:1115:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1115:18:1115:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1115:18:1115:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1115:18:1115:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1115:18:1115:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1115:18:1115:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1115:26:1115:32 | from_if | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1115:26:1115:32 | from_if | T | main.rs:1084:5:1085:13 | S | +| main.rs:1118:13:1118:22 | from_match | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1118:13:1118:22 | from_match | T | main.rs:1084:5:1085:13 | S | +| main.rs:1118:26:1121:9 | match ... { ... } | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1118:26:1121:9 | match ... { ... } | T | main.rs:1084:5:1085:13 | S | +| main.rs:1118:32:1118:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1118:32:1118:36 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1118:36:1118:36 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1119:13:1119:16 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1119:21:1119:38 | ...::MyNone(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1119:21:1119:38 | ...::MyNone(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1120:13:1120:17 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1120:22:1120:40 | ...::MySome(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1120:22:1120:40 | ...::MySome(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1120:39:1120:39 | S | | main.rs:1084:5:1085:13 | S | +| main.rs:1122:9:1122:36 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1122:18:1122:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1122:18:1122:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1122:18:1122:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1122:18:1122:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1122:18:1122:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1122:26:1122:35 | from_match | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1122:26:1122:35 | from_match | T | main.rs:1084:5:1085:13 | S | +| main.rs:1125:13:1125:21 | from_loop | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1125:13:1125:21 | from_loop | T | main.rs:1084:5:1085:13 | S | +| main.rs:1125:25:1130:9 | loop { ... } | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1125:25:1130:9 | loop { ... } | T | main.rs:1084:5:1085:13 | S | +| main.rs:1125:30:1130:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1126:13:1128:13 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1126:16:1126:16 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1126:16:1126:20 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1126:20:1126:20 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1126:22:1128:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1127:23:1127:40 | ...::MyNone(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1127:23:1127:40 | ...::MyNone(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1129:19:1129:37 | ...::MySome(...) | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1129:19:1129:37 | ...::MySome(...) | T | main.rs:1084:5:1085:13 | S | +| main.rs:1129:36:1129:36 | S | | main.rs:1084:5:1085:13 | S | +| main.rs:1131:9:1131:35 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1131:18:1131:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1131:18:1131:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1131:18:1131:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1131:18:1131:34 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1131:18:1131:34 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1131:26:1131:34 | from_loop | | main.rs:1049:5:1053:5 | MyOption | +| main.rs:1131:26:1131:34 | from_loop | T | main.rs:1084:5:1085:13 | S | +| main.rs:1149:15:1149:18 | SelfParam | | main.rs:1137:5:1138:19 | S | +| main.rs:1149:15:1149:18 | SelfParam | T | main.rs:1148:10:1148:10 | T | +| main.rs:1149:26:1151:9 | { ... } | | main.rs:1148:10:1148:10 | T | +| main.rs:1150:13:1150:16 | self | | main.rs:1137:5:1138:19 | S | +| main.rs:1150:13:1150:16 | self | T | main.rs:1148:10:1148:10 | T | +| main.rs:1150:13:1150:18 | self.0 | | main.rs:1148:10:1148:10 | T | +| main.rs:1153:15:1153:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1153:15:1153:19 | SelfParam | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1153:15:1153:19 | SelfParam | TRef.T | main.rs:1148:10:1148:10 | T | +| main.rs:1153:28:1155:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1153:28:1155:9 | { ... } | TRef | main.rs:1148:10:1148:10 | T | +| main.rs:1154:13:1154:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1154:13:1154:19 | &... | TRef | main.rs:1148:10:1148:10 | T | +| main.rs:1154:14:1154:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1154:14:1154:17 | self | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1154:14:1154:17 | self | TRef.T | main.rs:1148:10:1148:10 | T | +| main.rs:1154:14:1154:19 | self.0 | | main.rs:1148:10:1148:10 | T | +| main.rs:1157:15:1157:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1157:15:1157:25 | SelfParam | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1157:15:1157:25 | SelfParam | TRef.T | main.rs:1148:10:1148:10 | T | +| main.rs:1157:34:1159:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1157:34:1159:9 | { ... } | TRef | main.rs:1148:10:1148:10 | T | +| main.rs:1158:13:1158:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1158:13:1158:19 | &... | TRef | main.rs:1148:10:1148:10 | T | +| main.rs:1158:14:1158:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1158:14:1158:17 | self | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1158:14:1158:17 | self | TRef.T | main.rs:1148:10:1148:10 | T | +| main.rs:1158:14:1158:19 | self.0 | | main.rs:1148:10:1148:10 | T | +| main.rs:1163:29:1163:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1163:29:1163:33 | SelfParam | TRef | main.rs:1162:5:1165:5 | Self [trait ATrait] | +| main.rs:1164:33:1164:36 | SelfParam | | main.rs:1162:5:1165:5 | Self [trait ATrait] | +| main.rs:1170:29:1170:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1170:29:1170:33 | SelfParam | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1170:29:1170:33 | SelfParam | TRef.TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1170:43:1172:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:1171:13:1171:22 | (...) | | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1171:13:1171:24 | ... .a | | {EXTERNAL LOCATION} | i64 | +| main.rs:1171:14:1171:21 | * ... | | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1171:15:1171:21 | (...) | | {EXTERNAL LOCATION} | & | +| main.rs:1171:15:1171:21 | (...) | TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1171:16:1171:20 | * ... | | {EXTERNAL LOCATION} | & | +| main.rs:1171:16:1171:20 | * ... | TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1171:17:1171:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1171:17:1171:20 | self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1171:17:1171:20 | self | TRef.TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1175:33:1175:36 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1175:33:1175:36 | SelfParam | TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1175:46:1177:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:1176:13:1176:19 | (...) | | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1176:13:1176:21 | ... .a | | {EXTERNAL LOCATION} | i64 | +| main.rs:1176:14:1176:18 | * ... | | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1176:15:1176:18 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1176:15:1176:18 | self | TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1180:16:1230:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1181:13:1181:14 | x1 | | main.rs:1137:5:1138:19 | S | +| main.rs:1181:13:1181:14 | x1 | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1181:18:1181:22 | S(...) | | main.rs:1137:5:1138:19 | S | +| main.rs:1181:18:1181:22 | S(...) | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1181:20:1181:21 | S2 | | main.rs:1140:5:1141:14 | S2 | +| main.rs:1182:9:1182:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1182:18:1182:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1182:18:1182:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1182:18:1182:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1182:18:1182:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1182:18:1182:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1182:26:1182:27 | x1 | | main.rs:1137:5:1138:19 | S | +| main.rs:1182:26:1182:27 | x1 | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1182:26:1182:32 | x1.m1() | | main.rs:1140:5:1141:14 | S2 | +| main.rs:1184:13:1184:14 | x2 | | main.rs:1137:5:1138:19 | S | +| main.rs:1184:13:1184:14 | x2 | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1184:18:1184:22 | S(...) | | main.rs:1137:5:1138:19 | S | +| main.rs:1184:18:1184:22 | S(...) | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1184:20:1184:21 | S2 | | main.rs:1140:5:1141:14 | S2 | +| main.rs:1186:9:1186:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1186:18:1186:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1186:18:1186:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1186:18:1186:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1186:18:1186:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1186:18:1186:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1186:26:1186:27 | x2 | | main.rs:1137:5:1138:19 | S | +| main.rs:1186:26:1186:27 | x2 | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1186:26:1186:32 | x2.m2() | | {EXTERNAL LOCATION} | & | +| main.rs:1186:26:1186:32 | x2.m2() | TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1187:9:1187:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1187:18:1187:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1187:18:1187:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1187:18:1187:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1187:18:1187:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1187:18:1187:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1187:26:1187:27 | x2 | | main.rs:1137:5:1138:19 | S | +| main.rs:1187:26:1187:27 | x2 | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1187:26:1187:32 | x2.m3() | | {EXTERNAL LOCATION} | & | +| main.rs:1187:26:1187:32 | x2.m3() | TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1189:13:1189:14 | x3 | | main.rs:1137:5:1138:19 | S | +| main.rs:1189:13:1189:14 | x3 | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1189:18:1189:22 | S(...) | | main.rs:1137:5:1138:19 | S | +| main.rs:1189:18:1189:22 | S(...) | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1189:20:1189:21 | S2 | | main.rs:1140:5:1141:14 | S2 | +| main.rs:1191:9:1191:42 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1191:18:1191:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1191:18:1191:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1191:18:1191:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1191:18:1191:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1191:18:1191:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1191:26:1191:41 | ...::m2(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1191:26:1191:41 | ...::m2(...) | TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1191:38:1191:40 | &x3 | | {EXTERNAL LOCATION} | & | +| main.rs:1191:38:1191:40 | &x3 | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1191:38:1191:40 | &x3 | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1191:39:1191:40 | x3 | | main.rs:1137:5:1138:19 | S | +| main.rs:1191:39:1191:40 | x3 | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1192:9:1192:42 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1192:18:1192:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1192:18:1192:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1192:18:1192:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1192:18:1192:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1192:18:1192:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1192:26:1192:41 | ...::m3(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1192:26:1192:41 | ...::m3(...) | TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1192:38:1192:40 | &x3 | | {EXTERNAL LOCATION} | & | +| main.rs:1192:38:1192:40 | &x3 | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1192:38:1192:40 | &x3 | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1192:39:1192:40 | x3 | | main.rs:1137:5:1138:19 | S | +| main.rs:1192:39:1192:40 | x3 | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1194:13:1194:14 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1194:13:1194:14 | x4 | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1194:13:1194:14 | x4 | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1194:18:1194:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1194:18:1194:23 | &... | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1194:18:1194:23 | &... | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1194:19:1194:23 | S(...) | | main.rs:1137:5:1138:19 | S | +| main.rs:1194:19:1194:23 | S(...) | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1194:21:1194:22 | S2 | | main.rs:1140:5:1141:14 | S2 | +| main.rs:1196:9:1196:33 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:1196:18:1196:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1196:18:1196:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1196:18:1196:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1196:18:1196:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1196:18:1196:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1196:26:1196:27 | x7 | | main.rs:1120:5:1121:19 | S | -| main.rs:1196:26:1196:27 | x7 | T | {EXTERNAL LOCATION} | & | -| main.rs:1196:26:1196:27 | x7 | T.TRef | main.rs:1123:5:1124:14 | S2 | -| main.rs:1198:13:1198:14 | x9 | | {EXTERNAL LOCATION} | String | -| main.rs:1198:26:1198:32 | "Hello" | | {EXTERNAL LOCATION} | & | -| main.rs:1198:26:1198:32 | "Hello" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1198:26:1198:44 | "Hello".to_string() | | {EXTERNAL LOCATION} | String | -| main.rs:1202:13:1202:13 | u | | {EXTERNAL LOCATION} | Result | -| main.rs:1202:13:1202:13 | u | E | {EXTERNAL LOCATION} | ParseIntError | -| main.rs:1202:13:1202:13 | u | T | {EXTERNAL LOCATION} | u32 | -| main.rs:1202:17:1202:18 | x9 | | {EXTERNAL LOCATION} | String | -| main.rs:1202:17:1202:33 | x9.parse() | | {EXTERNAL LOCATION} | Result | -| main.rs:1202:17:1202:33 | x9.parse() | E | {EXTERNAL LOCATION} | ParseIntError | -| main.rs:1202:17:1202:33 | x9.parse() | T | {EXTERNAL LOCATION} | u32 | -| main.rs:1204:13:1204:20 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1204:13:1204:20 | my_thing | TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1204:24:1204:39 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1204:24:1204:39 | &... | TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1204:25:1204:39 | MyInt {...} | | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1204:36:1204:37 | 37 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1206:13:1206:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:1206:17:1206:24 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1206:17:1206:24 | my_thing | TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1206:17:1206:43 | my_thing.method_on_borrow() | | {EXTERNAL LOCATION} | i64 | -| main.rs:1207:9:1207:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1196:18:1196:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1196:18:1196:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1196:18:1196:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1196:26:1196:27 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1196:26:1196:27 | x4 | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1196:26:1196:27 | x4 | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1196:26:1196:32 | x4.m2() | | {EXTERNAL LOCATION} | & | +| main.rs:1196:26:1196:32 | x4.m2() | TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1197:9:1197:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1197:18:1197:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1197:18:1197:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1197:18:1197:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1197:18:1197:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1197:18:1197:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1197:26:1197:27 | x4 | | {EXTERNAL LOCATION} | & | +| main.rs:1197:26:1197:27 | x4 | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1197:26:1197:27 | x4 | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1197:26:1197:32 | x4.m3() | | {EXTERNAL LOCATION} | & | +| main.rs:1197:26:1197:32 | x4.m3() | TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1199:13:1199:14 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1199:13:1199:14 | x5 | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1199:13:1199:14 | x5 | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1199:18:1199:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1199:18:1199:23 | &... | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1199:18:1199:23 | &... | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1199:19:1199:23 | S(...) | | main.rs:1137:5:1138:19 | S | +| main.rs:1199:19:1199:23 | S(...) | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1199:21:1199:22 | S2 | | main.rs:1140:5:1141:14 | S2 | +| main.rs:1201:9:1201:33 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1201:18:1201:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1201:18:1201:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1201:18:1201:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1201:18:1201:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1201:18:1201:32 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1201:26:1201:27 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1201:26:1201:27 | x5 | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1201:26:1201:27 | x5 | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1201:26:1201:32 | x5.m1() | | main.rs:1140:5:1141:14 | S2 | +| main.rs:1202:9:1202:30 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1202:18:1202:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1202:18:1202:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1202:18:1202:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1202:18:1202:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1202:18:1202:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1202:26:1202:27 | x5 | | {EXTERNAL LOCATION} | & | +| main.rs:1202:26:1202:27 | x5 | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1202:26:1202:27 | x5 | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1202:26:1202:29 | x5.0 | | main.rs:1140:5:1141:14 | S2 | +| main.rs:1204:13:1204:14 | x6 | | {EXTERNAL LOCATION} | & | +| main.rs:1204:13:1204:14 | x6 | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1204:13:1204:14 | x6 | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1204:18:1204:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1204:18:1204:23 | &... | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1204:18:1204:23 | &... | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1204:19:1204:23 | S(...) | | main.rs:1137:5:1138:19 | S | +| main.rs:1204:19:1204:23 | S(...) | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1204:21:1204:22 | S2 | | main.rs:1140:5:1141:14 | S2 | +| main.rs:1207:9:1207:36 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:1207:18:1207:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1207:18:1207:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1207:18:1207:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1207:18:1207:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1207:18:1207:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1207:26:1207:26 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:1210:13:1210:20 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1210:13:1210:20 | my_thing | TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1210:24:1210:39 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1210:24:1210:39 | &... | TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1210:25:1210:39 | MyInt {...} | | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1210:36:1210:37 | 38 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1211:13:1211:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:1211:17:1211:24 | my_thing | | {EXTERNAL LOCATION} | & | -| main.rs:1211:17:1211:24 | my_thing | TRef | main.rs:1126:5:1129:5 | MyInt | -| main.rs:1211:17:1211:47 | my_thing.method_not_on_borrow() | | {EXTERNAL LOCATION} | i64 | -| main.rs:1212:9:1212:27 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1212:18:1212:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1212:18:1212:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1212:18:1212:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1212:18:1212:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1212:18:1212:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1212:26:1212:26 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:1219:16:1219:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1219:16:1219:20 | SelfParam | TRef | main.rs:1217:5:1225:5 | Self [trait MyTrait] | -| main.rs:1222:16:1222:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1222:16:1222:20 | SelfParam | TRef | main.rs:1217:5:1225:5 | Self [trait MyTrait] | -| main.rs:1222:32:1224:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1222:32:1224:9 | { ... } | TRef | main.rs:1217:5:1225:5 | Self [trait MyTrait] | -| main.rs:1223:13:1223:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1223:13:1223:16 | self | TRef | main.rs:1217:5:1225:5 | Self [trait MyTrait] | -| main.rs:1223:13:1223:22 | self.foo() | | {EXTERNAL LOCATION} | & | -| main.rs:1223:13:1223:22 | self.foo() | TRef | main.rs:1217:5:1225:5 | Self [trait MyTrait] | -| main.rs:1231:16:1231:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1231:16:1231:20 | SelfParam | TRef | main.rs:1227:5:1227:20 | MyStruct | -| main.rs:1231:36:1233:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1231:36:1233:9 | { ... } | TRef | main.rs:1227:5:1227:20 | MyStruct | -| main.rs:1232:13:1232:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1232:13:1232:16 | self | TRef | main.rs:1227:5:1227:20 | MyStruct | -| main.rs:1236:16:1239:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1237:13:1237:13 | x | | main.rs:1227:5:1227:20 | MyStruct | -| main.rs:1237:17:1237:24 | MyStruct | | main.rs:1227:5:1227:20 | MyStruct | -| main.rs:1238:9:1238:9 | x | | main.rs:1227:5:1227:20 | MyStruct | -| main.rs:1238:9:1238:15 | x.bar() | | {EXTERNAL LOCATION} | & | -| main.rs:1238:9:1238:15 | x.bar() | TRef | main.rs:1227:5:1227:20 | MyStruct | +| main.rs:1207:18:1207:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1207:18:1207:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1207:18:1207:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1207:26:1207:30 | (...) | | main.rs:1137:5:1138:19 | S | +| main.rs:1207:26:1207:30 | (...) | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1207:26:1207:35 | ... .m1() | | main.rs:1140:5:1141:14 | S2 | +| main.rs:1207:27:1207:29 | * ... | | main.rs:1137:5:1138:19 | S | +| main.rs:1207:27:1207:29 | * ... | T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1207:28:1207:29 | x6 | | {EXTERNAL LOCATION} | & | +| main.rs:1207:28:1207:29 | x6 | TRef | main.rs:1137:5:1138:19 | S | +| main.rs:1207:28:1207:29 | x6 | TRef.T | main.rs:1140:5:1141:14 | S2 | +| main.rs:1209:13:1209:14 | x7 | | main.rs:1137:5:1138:19 | S | +| main.rs:1209:13:1209:14 | x7 | T | {EXTERNAL LOCATION} | & | +| main.rs:1209:13:1209:14 | x7 | T.TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1209:18:1209:23 | S(...) | | main.rs:1137:5:1138:19 | S | +| main.rs:1209:18:1209:23 | S(...) | T | {EXTERNAL LOCATION} | & | +| main.rs:1209:18:1209:23 | S(...) | T.TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1209:20:1209:22 | &S2 | | {EXTERNAL LOCATION} | & | +| main.rs:1209:20:1209:22 | &S2 | TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1209:21:1209:22 | S2 | | main.rs:1140:5:1141:14 | S2 | +| main.rs:1212:13:1212:13 | t | | {EXTERNAL LOCATION} | & | +| main.rs:1212:13:1212:13 | t | TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1212:17:1212:18 | x7 | | main.rs:1137:5:1138:19 | S | +| main.rs:1212:17:1212:18 | x7 | T | {EXTERNAL LOCATION} | & | +| main.rs:1212:17:1212:18 | x7 | T.TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1212:17:1212:23 | x7.m1() | | {EXTERNAL LOCATION} | & | +| main.rs:1212:17:1212:23 | x7.m1() | TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1213:9:1213:28 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1213:18:1213:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1213:18:1213:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1213:18:1213:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1213:18:1213:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1213:18:1213:27 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1213:26:1213:27 | x7 | | main.rs:1137:5:1138:19 | S | +| main.rs:1213:26:1213:27 | x7 | T | {EXTERNAL LOCATION} | & | +| main.rs:1213:26:1213:27 | x7 | T.TRef | main.rs:1140:5:1141:14 | S2 | +| main.rs:1215:13:1215:14 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1215:26:1215:32 | "Hello" | | {EXTERNAL LOCATION} | & | +| main.rs:1215:26:1215:32 | "Hello" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1215:26:1215:44 | "Hello".to_string() | | {EXTERNAL LOCATION} | String | +| main.rs:1219:13:1219:13 | u | | {EXTERNAL LOCATION} | Result | +| main.rs:1219:13:1219:13 | u | E | {EXTERNAL LOCATION} | ParseIntError | +| main.rs:1219:13:1219:13 | u | T | {EXTERNAL LOCATION} | u32 | +| main.rs:1219:17:1219:18 | x9 | | {EXTERNAL LOCATION} | String | +| main.rs:1219:17:1219:33 | x9.parse() | | {EXTERNAL LOCATION} | Result | +| main.rs:1219:17:1219:33 | x9.parse() | E | {EXTERNAL LOCATION} | ParseIntError | +| main.rs:1219:17:1219:33 | x9.parse() | T | {EXTERNAL LOCATION} | u32 | +| main.rs:1221:13:1221:20 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1221:13:1221:20 | my_thing | TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1221:24:1221:39 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1221:24:1221:39 | &... | TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1221:25:1221:39 | MyInt {...} | | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1221:36:1221:37 | 37 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1223:13:1223:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:1223:17:1223:24 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1223:17:1223:24 | my_thing | TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1223:17:1223:43 | my_thing.method_on_borrow() | | {EXTERNAL LOCATION} | i64 | +| main.rs:1224:9:1224:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1224:18:1224:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1224:18:1224:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1224:18:1224:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1224:18:1224:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1224:18:1224:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1224:26:1224:26 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:1227:13:1227:20 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1227:13:1227:20 | my_thing | TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1227:24:1227:39 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1227:24:1227:39 | &... | TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1227:25:1227:39 | MyInt {...} | | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1227:36:1227:37 | 38 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1228:13:1228:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:1228:17:1228:24 | my_thing | | {EXTERNAL LOCATION} | & | +| main.rs:1228:17:1228:24 | my_thing | TRef | main.rs:1143:5:1146:5 | MyInt | +| main.rs:1228:17:1228:47 | my_thing.method_not_on_borrow() | | {EXTERNAL LOCATION} | i64 | +| main.rs:1229:9:1229:27 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1229:18:1229:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1229:18:1229:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1229:18:1229:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1229:18:1229:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1229:18:1229:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1229:26:1229:26 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:1236:16:1236:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1236:16:1236:20 | SelfParam | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | +| main.rs:1239:16:1239:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1239:16:1239:20 | SelfParam | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | +| main.rs:1239:32:1241:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1239:32:1241:9 | { ... } | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | +| main.rs:1240:13:1240:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1240:13:1240:16 | self | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | +| main.rs:1240:13:1240:22 | self.foo() | | {EXTERNAL LOCATION} | & | +| main.rs:1240:13:1240:22 | self.foo() | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | | main.rs:1248:16:1248:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1248:16:1248:20 | SelfParam | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1248:16:1248:20 | SelfParam | TRef.T | main.rs:1247:10:1247:10 | T | -| main.rs:1248:32:1250:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1248:32:1250:9 | { ... } | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1248:32:1250:9 | { ... } | TRef.T | main.rs:1247:10:1247:10 | T | +| main.rs:1248:16:1248:20 | SelfParam | TRef | main.rs:1244:5:1244:20 | MyStruct | +| main.rs:1248:36:1250:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1248:36:1250:9 | { ... } | TRef | main.rs:1244:5:1244:20 | MyStruct | | main.rs:1249:13:1249:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1249:13:1249:16 | self | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1249:13:1249:16 | self | TRef.T | main.rs:1247:10:1247:10 | T | -| main.rs:1252:16:1252:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1252:16:1252:20 | SelfParam | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1252:16:1252:20 | SelfParam | TRef.T | main.rs:1247:10:1247:10 | T | -| main.rs:1252:23:1252:23 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1252:23:1252:23 | x | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1252:23:1252:23 | x | TRef.T | main.rs:1247:10:1247:10 | T | -| main.rs:1252:42:1254:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1252:42:1254:9 | { ... } | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1252:42:1254:9 | { ... } | TRef.T | main.rs:1247:10:1247:10 | T | -| main.rs:1253:13:1253:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1253:13:1253:16 | self | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1253:13:1253:16 | self | TRef.T | main.rs:1247:10:1247:10 | T | -| main.rs:1257:16:1263:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1258:13:1258:13 | x | | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1258:13:1258:13 | x | T | main.rs:1243:5:1243:13 | S | -| main.rs:1258:17:1258:27 | MyStruct(...) | | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1258:17:1258:27 | MyStruct(...) | T | main.rs:1243:5:1243:13 | S | -| main.rs:1258:26:1258:26 | S | | main.rs:1243:5:1243:13 | S | -| main.rs:1259:9:1259:9 | x | | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1259:9:1259:9 | x | T | main.rs:1243:5:1243:13 | S | -| main.rs:1259:9:1259:15 | x.foo() | | {EXTERNAL LOCATION} | & | -| main.rs:1259:9:1259:15 | x.foo() | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1259:9:1259:15 | x.foo() | TRef.T | main.rs:1243:5:1243:13 | S | -| main.rs:1260:13:1260:13 | x | | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1260:13:1260:13 | x | T | main.rs:1243:5:1243:13 | S | -| main.rs:1260:17:1260:27 | MyStruct(...) | | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1260:17:1260:27 | MyStruct(...) | T | main.rs:1243:5:1243:13 | S | -| main.rs:1260:26:1260:26 | S | | main.rs:1243:5:1243:13 | S | -| main.rs:1262:9:1262:9 | x | | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1262:9:1262:9 | x | T | main.rs:1243:5:1243:13 | S | -| main.rs:1262:9:1262:18 | x.bar(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1262:9:1262:18 | x.bar(...) | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1262:9:1262:18 | x.bar(...) | TRef.T | main.rs:1243:5:1243:13 | S | -| main.rs:1262:15:1262:17 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1262:15:1262:17 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1262:15:1262:17 | &... | TRef.TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1262:15:1262:17 | &... | TRef.TRef.T | main.rs:1243:5:1243:13 | S | -| main.rs:1262:16:1262:17 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1262:16:1262:17 | &x | TRef | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1262:16:1262:17 | &x | TRef.T | main.rs:1243:5:1243:13 | S | -| main.rs:1262:17:1262:17 | x | | main.rs:1245:5:1245:26 | MyStruct | -| main.rs:1262:17:1262:17 | x | T | main.rs:1243:5:1243:13 | S | -| main.rs:1273:17:1273:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1273:17:1273:25 | SelfParam | TRefMut | main.rs:1267:5:1270:5 | MyFlag | -| main.rs:1273:28:1275:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1274:13:1274:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1274:13:1274:16 | self | TRefMut | main.rs:1267:5:1270:5 | MyFlag | -| main.rs:1274:13:1274:21 | self.bool | | {EXTERNAL LOCATION} | bool | -| main.rs:1274:13:1274:34 | ... = ... | | {EXTERNAL LOCATION} | () | -| main.rs:1274:25:1274:34 | ! ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1274:26:1274:29 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1274:26:1274:29 | self | TRefMut | main.rs:1267:5:1270:5 | MyFlag | -| main.rs:1274:26:1274:34 | self.bool | | {EXTERNAL LOCATION} | bool | -| main.rs:1281:15:1281:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1281:15:1281:19 | SelfParam | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1281:31:1283:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1281:31:1283:9 | { ... } | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1282:13:1282:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1282:13:1282:19 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1282:13:1282:19 | &... | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1282:13:1282:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1282:13:1282:19 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1282:13:1282:19 | &... | TRef.TRef.TRef.TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1282:14:1282:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1282:14:1282:19 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1282:14:1282:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1282:14:1282:19 | &... | TRef.TRef.TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1282:15:1282:19 | &self | | {EXTERNAL LOCATION} | & | -| main.rs:1282:15:1282:19 | &self | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1282:15:1282:19 | &self | TRef.TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1282:16:1282:19 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1282:16:1282:19 | self | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1285:15:1285:25 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1285:15:1285:25 | SelfParam | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1285:37:1287:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1285:37:1287:9 | { ... } | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1286:13:1286:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1286:13:1286:19 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1286:13:1286:19 | &... | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1286:13:1286:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1286:13:1286:19 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1286:13:1286:19 | &... | TRef.TRef.TRef.TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1286:14:1286:19 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1286:14:1286:19 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1286:14:1286:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1286:14:1286:19 | &... | TRef.TRef.TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1286:15:1286:19 | &self | | {EXTERNAL LOCATION} | & | -| main.rs:1286:15:1286:19 | &self | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1286:15:1286:19 | &self | TRef.TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1286:16:1286:19 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1286:16:1286:19 | self | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1289:15:1289:15 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1289:15:1289:15 | x | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1289:34:1291:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1289:34:1291:9 | { ... } | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1290:13:1290:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1290:13:1290:13 | x | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1293:15:1293:15 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1293:15:1293:15 | x | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1293:34:1295:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1293:34:1295:9 | { ... } | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1294:13:1294:16 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1294:13:1294:16 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1294:13:1294:16 | &... | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1294:13:1294:16 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1294:13:1294:16 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1294:13:1294:16 | &... | TRef.TRef.TRef.TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1294:14:1294:16 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1294:14:1294:16 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1294:14:1294:16 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | -| main.rs:1294:14:1294:16 | &... | TRef.TRef.TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1294:15:1294:16 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1294:15:1294:16 | &x | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1294:15:1294:16 | &x | TRef.TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1294:16:1294:16 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1294:16:1294:16 | x | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1298:16:1311:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1299:13:1299:13 | x | | main.rs:1278:5:1278:13 | S | -| main.rs:1299:17:1299:20 | S {...} | | main.rs:1278:5:1278:13 | S | -| main.rs:1300:9:1300:9 | x | | main.rs:1278:5:1278:13 | S | -| main.rs:1300:9:1300:14 | x.f1() | | {EXTERNAL LOCATION} | & | -| main.rs:1300:9:1300:14 | x.f1() | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1301:9:1301:9 | x | | main.rs:1278:5:1278:13 | S | -| main.rs:1301:9:1301:14 | x.f2() | | {EXTERNAL LOCATION} | & | -| main.rs:1301:9:1301:14 | x.f2() | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1302:9:1302:17 | ...::f3(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1302:9:1302:17 | ...::f3(...) | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1302:15:1302:16 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:1302:15:1302:16 | &x | TRef | main.rs:1278:5:1278:13 | S | -| main.rs:1302:16:1302:16 | x | | main.rs:1278:5:1278:13 | S | -| main.rs:1304:13:1304:13 | n | | {EXTERNAL LOCATION} | bool | -| main.rs:1304:17:1304:24 | * ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1304:18:1304:24 | * ... | | {EXTERNAL LOCATION} | & | -| main.rs:1304:18:1304:24 | * ... | TRef | {EXTERNAL LOCATION} | bool | -| main.rs:1304:19:1304:24 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1304:19:1304:24 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1304:19:1304:24 | &... | TRef.TRef | {EXTERNAL LOCATION} | bool | -| main.rs:1304:20:1304:24 | &true | | {EXTERNAL LOCATION} | & | -| main.rs:1304:20:1304:24 | &true | TRef | {EXTERNAL LOCATION} | bool | -| main.rs:1304:21:1304:24 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1308:17:1308:20 | flag | | main.rs:1267:5:1270:5 | MyFlag | -| main.rs:1308:24:1308:41 | ...::default(...) | | main.rs:1267:5:1270:5 | MyFlag | -| main.rs:1309:9:1309:31 | ...::flip(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1309:22:1309:30 | &mut flag | | {EXTERNAL LOCATION} | &mut | -| main.rs:1309:22:1309:30 | &mut flag | TRefMut | main.rs:1267:5:1270:5 | MyFlag | -| main.rs:1309:27:1309:30 | flag | | main.rs:1267:5:1270:5 | MyFlag | -| main.rs:1310:9:1310:30 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1310:18:1310:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1310:18:1310:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1310:18:1310:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1310:18:1310:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1310:18:1310:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1310:26:1310:29 | flag | | main.rs:1267:5:1270:5 | MyFlag | -| main.rs:1325:43:1328:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1325:43:1328:5 | { ... } | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1325:43:1328:5 | { ... } | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1326:13:1326:13 | x | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1326:17:1326:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1326:17:1326:30 | ...::Ok(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1326:17:1326:31 | TryExpr | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1326:28:1326:29 | S1 | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1327:9:1327:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1327:9:1327:22 | ...::Ok(...) | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1327:9:1327:22 | ...::Ok(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1327:20:1327:21 | S1 | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1332:46:1336:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1332:46:1336:5 | { ... } | E | main.rs:1320:5:1321:14 | S2 | -| main.rs:1332:46:1336:5 | { ... } | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1333:13:1333:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1333:13:1333:13 | x | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1333:17:1333:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1333:17:1333:30 | ...::Ok(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1333:28:1333:29 | S1 | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1334:13:1334:13 | y | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1334:17:1334:17 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1334:17:1334:17 | x | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1334:17:1334:18 | TryExpr | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1335:9:1335:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1335:9:1335:22 | ...::Ok(...) | E | main.rs:1320:5:1321:14 | S2 | -| main.rs:1335:9:1335:22 | ...::Ok(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1335:20:1335:21 | S1 | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1340:40:1345:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1340:40:1345:5 | { ... } | E | main.rs:1320:5:1321:14 | S2 | -| main.rs:1340:40:1345:5 | { ... } | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1341:13:1341:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1341:13:1341:13 | x | T | {EXTERNAL LOCATION} | Result | -| main.rs:1341:13:1341:13 | x | T.T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1341:17:1341:42 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1341:17:1341:42 | ...::Ok(...) | T | {EXTERNAL LOCATION} | Result | -| main.rs:1341:17:1341:42 | ...::Ok(...) | T.T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1341:28:1341:41 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1341:28:1341:41 | ...::Ok(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1341:39:1341:40 | S1 | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1343:13:1343:13 | y | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1343:17:1343:17 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:1343:17:1343:17 | x | T | {EXTERNAL LOCATION} | Result | -| main.rs:1343:17:1343:17 | x | T.T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1343:17:1343:18 | TryExpr | | {EXTERNAL LOCATION} | Result | -| main.rs:1343:17:1343:18 | TryExpr | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1343:17:1343:29 | ... .map(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1343:17:1343:29 | ... .map(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1343:17:1343:30 | TryExpr | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1343:24:1343:28 | \|...\| s | | {EXTERNAL LOCATION} | dyn Fn | -| main.rs:1343:24:1343:28 | \|...\| s | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| main.rs:1343:24:1343:28 | \|...\| s | dyn(Args).T0 | main.rs:1317:5:1318:14 | S1 | -| main.rs:1343:24:1343:28 | \|...\| s | dyn(Output) | main.rs:1317:5:1318:14 | S1 | -| main.rs:1343:25:1343:25 | s | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1343:28:1343:28 | s | | main.rs:1317:5:1318:14 | S1 | +| main.rs:1249:13:1249:16 | self | TRef | main.rs:1244:5:1244:20 | MyStruct | +| main.rs:1253:16:1256:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1254:13:1254:13 | x | | main.rs:1244:5:1244:20 | MyStruct | +| main.rs:1254:17:1254:24 | MyStruct | | main.rs:1244:5:1244:20 | MyStruct | +| main.rs:1255:9:1255:9 | x | | main.rs:1244:5:1244:20 | MyStruct | +| main.rs:1255:9:1255:15 | x.bar() | | {EXTERNAL LOCATION} | & | +| main.rs:1255:9:1255:15 | x.bar() | TRef | main.rs:1244:5:1244:20 | MyStruct | +| main.rs:1265:16:1265:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1265:16:1265:20 | SelfParam | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1265:16:1265:20 | SelfParam | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1265:32:1267:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1265:32:1267:9 | { ... } | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1265:32:1267:9 | { ... } | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1266:13:1266:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1266:13:1266:16 | self | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1266:13:1266:16 | self | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1269:16:1269:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1269:16:1269:20 | SelfParam | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1269:16:1269:20 | SelfParam | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1269:23:1269:23 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1269:23:1269:23 | x | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1269:23:1269:23 | x | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1269:42:1271:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1269:42:1271:9 | { ... } | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1269:42:1271:9 | { ... } | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1270:13:1270:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1270:13:1270:16 | self | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1270:13:1270:16 | self | TRef.T | main.rs:1264:10:1264:10 | T | +| main.rs:1274:16:1280:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1275:13:1275:13 | x | | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1275:13:1275:13 | x | T | main.rs:1260:5:1260:13 | S | +| main.rs:1275:17:1275:27 | MyStruct(...) | | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1275:17:1275:27 | MyStruct(...) | T | main.rs:1260:5:1260:13 | S | +| main.rs:1275:26:1275:26 | S | | main.rs:1260:5:1260:13 | S | +| main.rs:1276:9:1276:9 | x | | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1276:9:1276:9 | x | T | main.rs:1260:5:1260:13 | S | +| main.rs:1276:9:1276:15 | x.foo() | | {EXTERNAL LOCATION} | & | +| main.rs:1276:9:1276:15 | x.foo() | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1276:9:1276:15 | x.foo() | TRef.T | main.rs:1260:5:1260:13 | S | +| main.rs:1277:13:1277:13 | x | | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1277:13:1277:13 | x | T | main.rs:1260:5:1260:13 | S | +| main.rs:1277:17:1277:27 | MyStruct(...) | | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1277:17:1277:27 | MyStruct(...) | T | main.rs:1260:5:1260:13 | S | +| main.rs:1277:26:1277:26 | S | | main.rs:1260:5:1260:13 | S | +| main.rs:1279:9:1279:9 | x | | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1279:9:1279:9 | x | T | main.rs:1260:5:1260:13 | S | +| main.rs:1279:9:1279:18 | x.bar(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1279:9:1279:18 | x.bar(...) | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1279:9:1279:18 | x.bar(...) | TRef.T | main.rs:1260:5:1260:13 | S | +| main.rs:1279:15:1279:17 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1279:15:1279:17 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1279:15:1279:17 | &... | TRef.TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1279:15:1279:17 | &... | TRef.TRef.T | main.rs:1260:5:1260:13 | S | +| main.rs:1279:16:1279:17 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1279:16:1279:17 | &x | TRef | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1279:16:1279:17 | &x | TRef.T | main.rs:1260:5:1260:13 | S | +| main.rs:1279:17:1279:17 | x | | main.rs:1262:5:1262:26 | MyStruct | +| main.rs:1279:17:1279:17 | x | T | main.rs:1260:5:1260:13 | S | +| main.rs:1290:17:1290:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1290:17:1290:25 | SelfParam | TRefMut | main.rs:1284:5:1287:5 | MyFlag | +| main.rs:1290:28:1292:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1291:13:1291:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1291:13:1291:16 | self | TRefMut | main.rs:1284:5:1287:5 | MyFlag | +| main.rs:1291:13:1291:21 | self.bool | | {EXTERNAL LOCATION} | bool | +| main.rs:1291:13:1291:34 | ... = ... | | {EXTERNAL LOCATION} | () | +| main.rs:1291:25:1291:34 | ! ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1291:26:1291:29 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1291:26:1291:29 | self | TRefMut | main.rs:1284:5:1287:5 | MyFlag | +| main.rs:1291:26:1291:34 | self.bool | | {EXTERNAL LOCATION} | bool | +| main.rs:1298:15:1298:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1298:15:1298:19 | SelfParam | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1298:31:1300:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1298:31:1300:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1299:13:1299:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1299:13:1299:19 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1299:13:1299:19 | &... | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1299:13:1299:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1299:13:1299:19 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1299:13:1299:19 | &... | TRef.TRef.TRef.TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1299:14:1299:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1299:14:1299:19 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1299:14:1299:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1299:14:1299:19 | &... | TRef.TRef.TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1299:15:1299:19 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:1299:15:1299:19 | &self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1299:15:1299:19 | &self | TRef.TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1299:16:1299:19 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1299:16:1299:19 | self | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1302:15:1302:25 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1302:15:1302:25 | SelfParam | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1302:37:1304:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1302:37:1304:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1303:13:1303:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1303:13:1303:19 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1303:13:1303:19 | &... | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1303:13:1303:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1303:13:1303:19 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1303:13:1303:19 | &... | TRef.TRef.TRef.TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1303:14:1303:19 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1303:14:1303:19 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1303:14:1303:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1303:14:1303:19 | &... | TRef.TRef.TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1303:15:1303:19 | &self | | {EXTERNAL LOCATION} | & | +| main.rs:1303:15:1303:19 | &self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1303:15:1303:19 | &self | TRef.TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1303:16:1303:19 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1303:16:1303:19 | self | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1306:15:1306:15 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1306:15:1306:15 | x | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1306:34:1308:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1306:34:1308:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1307:13:1307:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1307:13:1307:13 | x | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1310:15:1310:15 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1310:15:1310:15 | x | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1310:34:1312:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1310:34:1312:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1311:13:1311:16 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1311:13:1311:16 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1311:13:1311:16 | &... | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1311:13:1311:16 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1311:13:1311:16 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1311:13:1311:16 | &... | TRef.TRef.TRef.TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1311:14:1311:16 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1311:14:1311:16 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1311:14:1311:16 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1311:14:1311:16 | &... | TRef.TRef.TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1311:15:1311:16 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1311:15:1311:16 | &x | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1311:15:1311:16 | &x | TRef.TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1311:16:1311:16 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1311:16:1311:16 | x | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1315:16:1328:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1316:13:1316:13 | x | | main.rs:1295:5:1295:13 | S | +| main.rs:1316:17:1316:20 | S {...} | | main.rs:1295:5:1295:13 | S | +| main.rs:1317:9:1317:9 | x | | main.rs:1295:5:1295:13 | S | +| main.rs:1317:9:1317:14 | x.f1() | | {EXTERNAL LOCATION} | & | +| main.rs:1317:9:1317:14 | x.f1() | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1318:9:1318:9 | x | | main.rs:1295:5:1295:13 | S | +| main.rs:1318:9:1318:14 | x.f2() | | {EXTERNAL LOCATION} | & | +| main.rs:1318:9:1318:14 | x.f2() | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1319:9:1319:17 | ...::f3(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1319:9:1319:17 | ...::f3(...) | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1319:15:1319:16 | &x | | {EXTERNAL LOCATION} | & | +| main.rs:1319:15:1319:16 | &x | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1319:16:1319:16 | x | | main.rs:1295:5:1295:13 | S | +| main.rs:1321:13:1321:13 | n | | {EXTERNAL LOCATION} | bool | +| main.rs:1321:17:1321:24 | * ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1321:18:1321:24 | * ... | | {EXTERNAL LOCATION} | & | +| main.rs:1321:18:1321:24 | * ... | TRef | {EXTERNAL LOCATION} | bool | +| main.rs:1321:19:1321:24 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1321:19:1321:24 | &... | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1321:19:1321:24 | &... | TRef.TRef | {EXTERNAL LOCATION} | bool | +| main.rs:1321:20:1321:24 | &true | | {EXTERNAL LOCATION} | & | +| main.rs:1321:20:1321:24 | &true | TRef | {EXTERNAL LOCATION} | bool | +| main.rs:1321:21:1321:24 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1325:17:1325:20 | flag | | main.rs:1284:5:1287:5 | MyFlag | +| main.rs:1325:24:1325:41 | ...::default(...) | | main.rs:1284:5:1287:5 | MyFlag | +| main.rs:1326:9:1326:31 | ...::flip(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1326:22:1326:30 | &mut flag | | {EXTERNAL LOCATION} | &mut | +| main.rs:1326:22:1326:30 | &mut flag | TRefMut | main.rs:1284:5:1287:5 | MyFlag | +| main.rs:1326:27:1326:30 | flag | | main.rs:1284:5:1287:5 | MyFlag | +| main.rs:1327:9:1327:30 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1327:18:1327:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1327:18:1327:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1327:18:1327:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1327:18:1327:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1327:18:1327:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1327:26:1327:29 | flag | | main.rs:1284:5:1287:5 | MyFlag | +| main.rs:1342:43:1345:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1342:43:1345:5 | { ... } | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1342:43:1345:5 | { ... } | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1343:13:1343:13 | x | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1343:17:1343:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1343:17:1343:30 | ...::Ok(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1343:17:1343:31 | TryExpr | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1343:28:1343:29 | S1 | | main.rs:1334:5:1335:14 | S1 | | main.rs:1344:9:1344:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1344:9:1344:22 | ...::Ok(...) | E | main.rs:1320:5:1321:14 | S2 | -| main.rs:1344:9:1344:22 | ...::Ok(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1344:20:1344:21 | S1 | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1349:30:1349:34 | input | | {EXTERNAL LOCATION} | Result | -| main.rs:1349:30:1349:34 | input | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1349:30:1349:34 | input | T | main.rs:1349:20:1349:27 | T | -| main.rs:1349:69:1356:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1349:69:1356:5 | { ... } | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1349:69:1356:5 | { ... } | T | main.rs:1349:20:1349:27 | T | -| main.rs:1350:13:1350:17 | value | | main.rs:1349:20:1349:27 | T | -| main.rs:1350:21:1350:25 | input | | {EXTERNAL LOCATION} | Result | -| main.rs:1350:21:1350:25 | input | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1350:21:1350:25 | input | T | main.rs:1349:20:1349:27 | T | -| main.rs:1350:21:1350:26 | TryExpr | | main.rs:1349:20:1349:27 | T | -| main.rs:1351:13:1351:18 | mapped | | main.rs:1349:20:1349:27 | T | -| main.rs:1351:22:1351:38 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1351:22:1351:38 | ...::Ok(...) | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1351:22:1351:38 | ...::Ok(...) | T | main.rs:1349:20:1349:27 | T | -| main.rs:1351:22:1354:10 | ... .and_then(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1351:22:1354:10 | ... .and_then(...) | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1351:22:1354:10 | ... .and_then(...) | T | main.rs:1349:20:1349:27 | T | -| main.rs:1351:22:1354:11 | TryExpr | | main.rs:1349:20:1349:27 | T | -| main.rs:1351:33:1351:37 | value | | main.rs:1349:20:1349:27 | T | -| main.rs:1351:49:1354:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | -| main.rs:1351:49:1354:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| main.rs:1351:49:1354:9 | \|...\| ... | dyn(Args).T0 | main.rs:1349:20:1349:27 | T | -| main.rs:1351:49:1354:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | Result | -| main.rs:1351:49:1354:9 | \|...\| ... | dyn(Output).E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1351:49:1354:9 | \|...\| ... | dyn(Output).T | main.rs:1349:20:1349:27 | T | -| main.rs:1351:50:1351:50 | v | | main.rs:1349:20:1349:27 | T | -| main.rs:1351:53:1354:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1351:53:1354:9 | { ... } | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1351:53:1354:9 | { ... } | T | main.rs:1349:20:1349:27 | T | -| main.rs:1352:13:1352:31 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1352:22:1352:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1352:22:1352:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1352:22:1352:30 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1352:22:1352:30 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1352:22:1352:30 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1352:30:1352:30 | v | | main.rs:1349:20:1349:27 | T | -| main.rs:1353:13:1353:34 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1353:13:1353:34 | ...::Ok::<...>(...) | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1353:13:1353:34 | ...::Ok::<...>(...) | T | main.rs:1349:20:1349:27 | T | -| main.rs:1353:33:1353:33 | v | | main.rs:1349:20:1349:27 | T | -| main.rs:1355:9:1355:23 | ...::Err(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1355:9:1355:23 | ...::Err(...) | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1355:9:1355:23 | ...::Err(...) | T | main.rs:1349:20:1349:27 | T | -| main.rs:1355:21:1355:22 | S1 | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1359:16:1375:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1360:9:1362:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1360:16:1360:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1360:16:1360:33 | ...::Ok(...) | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1360:16:1360:33 | ...::Ok(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1360:27:1360:32 | result | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1360:37:1360:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1360:37:1360:52 | try_same_error(...) | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1360:37:1360:52 | try_same_error(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1360:54:1362:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1361:13:1361:36 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1361:22:1361:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1361:22:1361:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1361:22:1361:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1361:22:1361:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1361:22:1361:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1361:30:1361:35 | result | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1364:9:1366:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1364:16:1364:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1364:16:1364:33 | ...::Ok(...) | E | main.rs:1320:5:1321:14 | S2 | -| main.rs:1364:16:1364:33 | ...::Ok(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1364:27:1364:32 | result | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1364:37:1364:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1364:37:1364:55 | try_convert_error(...) | E | main.rs:1320:5:1321:14 | S2 | -| main.rs:1364:37:1364:55 | try_convert_error(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1364:57:1366:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1365:13:1365:36 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1365:22:1365:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1365:22:1365:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1365:22:1365:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1365:22:1365:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1365:22:1365:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1365:30:1365:35 | result | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1368:9:1370:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1368:16:1368:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1368:16:1368:33 | ...::Ok(...) | E | main.rs:1320:5:1321:14 | S2 | -| main.rs:1368:16:1368:33 | ...::Ok(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1368:27:1368:32 | result | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1368:37:1368:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1368:37:1368:49 | try_chained(...) | E | main.rs:1320:5:1321:14 | S2 | -| main.rs:1368:37:1368:49 | try_chained(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1368:51:1370:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1369:13:1369:36 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1344:9:1344:22 | ...::Ok(...) | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1344:9:1344:22 | ...::Ok(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1344:20:1344:21 | S1 | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1349:46:1353:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1349:46:1353:5 | { ... } | E | main.rs:1337:5:1338:14 | S2 | +| main.rs:1349:46:1353:5 | { ... } | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1350:13:1350:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1350:13:1350:13 | x | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1350:17:1350:30 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1350:17:1350:30 | ...::Ok(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1350:28:1350:29 | S1 | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1351:13:1351:13 | y | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1351:17:1351:17 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1351:17:1351:17 | x | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1351:17:1351:18 | TryExpr | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1352:9:1352:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1352:9:1352:22 | ...::Ok(...) | E | main.rs:1337:5:1338:14 | S2 | +| main.rs:1352:9:1352:22 | ...::Ok(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1352:20:1352:21 | S1 | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1357:40:1362:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1357:40:1362:5 | { ... } | E | main.rs:1337:5:1338:14 | S2 | +| main.rs:1357:40:1362:5 | { ... } | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1358:13:1358:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1358:13:1358:13 | x | T | {EXTERNAL LOCATION} | Result | +| main.rs:1358:13:1358:13 | x | T.T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1358:17:1358:42 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1358:17:1358:42 | ...::Ok(...) | T | {EXTERNAL LOCATION} | Result | +| main.rs:1358:17:1358:42 | ...::Ok(...) | T.T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1358:28:1358:41 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1358:28:1358:41 | ...::Ok(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1358:39:1358:40 | S1 | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1360:13:1360:13 | y | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1360:17:1360:17 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:1360:17:1360:17 | x | T | {EXTERNAL LOCATION} | Result | +| main.rs:1360:17:1360:17 | x | T.T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1360:17:1360:18 | TryExpr | | {EXTERNAL LOCATION} | Result | +| main.rs:1360:17:1360:18 | TryExpr | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1360:17:1360:29 | ... .map(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1360:17:1360:29 | ... .map(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1360:17:1360:30 | TryExpr | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1360:24:1360:28 | \|...\| s | | {EXTERNAL LOCATION} | dyn Fn | +| main.rs:1360:24:1360:28 | \|...\| s | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| main.rs:1360:24:1360:28 | \|...\| s | dyn(Args).T0 | main.rs:1334:5:1335:14 | S1 | +| main.rs:1360:24:1360:28 | \|...\| s | dyn(Output) | main.rs:1334:5:1335:14 | S1 | +| main.rs:1360:25:1360:25 | s | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1360:28:1360:28 | s | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1361:9:1361:22 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1361:9:1361:22 | ...::Ok(...) | E | main.rs:1337:5:1338:14 | S2 | +| main.rs:1361:9:1361:22 | ...::Ok(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1361:20:1361:21 | S1 | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1366:30:1366:34 | input | | {EXTERNAL LOCATION} | Result | +| main.rs:1366:30:1366:34 | input | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1366:30:1366:34 | input | T | main.rs:1366:20:1366:27 | T | +| main.rs:1366:69:1373:5 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1366:69:1373:5 | { ... } | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1366:69:1373:5 | { ... } | T | main.rs:1366:20:1366:27 | T | +| main.rs:1367:13:1367:17 | value | | main.rs:1366:20:1366:27 | T | +| main.rs:1367:21:1367:25 | input | | {EXTERNAL LOCATION} | Result | +| main.rs:1367:21:1367:25 | input | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1367:21:1367:25 | input | T | main.rs:1366:20:1366:27 | T | +| main.rs:1367:21:1367:26 | TryExpr | | main.rs:1366:20:1366:27 | T | +| main.rs:1368:13:1368:18 | mapped | | main.rs:1366:20:1366:27 | T | +| main.rs:1368:22:1368:38 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1368:22:1368:38 | ...::Ok(...) | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1368:22:1368:38 | ...::Ok(...) | T | main.rs:1366:20:1366:27 | T | +| main.rs:1368:22:1371:10 | ... .and_then(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1368:22:1371:10 | ... .and_then(...) | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1368:22:1371:10 | ... .and_then(...) | T | main.rs:1366:20:1366:27 | T | +| main.rs:1368:22:1371:11 | TryExpr | | main.rs:1366:20:1366:27 | T | +| main.rs:1368:33:1368:37 | value | | main.rs:1366:20:1366:27 | T | +| main.rs:1368:49:1371:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| main.rs:1368:49:1371:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| main.rs:1368:49:1371:9 | \|...\| ... | dyn(Args).T0 | main.rs:1366:20:1366:27 | T | +| main.rs:1368:49:1371:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | Result | +| main.rs:1368:49:1371:9 | \|...\| ... | dyn(Output).E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1368:49:1371:9 | \|...\| ... | dyn(Output).T | main.rs:1366:20:1366:27 | T | +| main.rs:1368:50:1368:50 | v | | main.rs:1366:20:1366:27 | T | +| main.rs:1368:53:1371:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:1368:53:1371:9 | { ... } | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1368:53:1371:9 | { ... } | T | main.rs:1366:20:1366:27 | T | +| main.rs:1369:13:1369:31 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:1369:22:1369:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1369:22:1369:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1369:22:1369:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1369:22:1369:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1369:22:1369:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1369:30:1369:35 | result | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1372:9:1374:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1372:16:1372:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1372:16:1372:33 | ...::Ok(...) | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1372:16:1372:33 | ...::Ok(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1372:27:1372:32 | result | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1372:37:1372:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1372:37:1372:63 | try_complex(...) | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1372:37:1372:63 | try_complex(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1372:49:1372:62 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1372:49:1372:62 | ...::Ok(...) | E | main.rs:1317:5:1318:14 | S1 | -| main.rs:1372:49:1372:62 | ...::Ok(...) | T | main.rs:1317:5:1318:14 | S1 | -| main.rs:1372:60:1372:61 | S1 | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1372:65:1374:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1373:13:1373:36 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:1373:22:1373:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:1373:22:1373:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1373:22:1373:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:1373:22:1373:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1373:22:1373:35 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1373:30:1373:35 | result | | main.rs:1317:5:1318:14 | S1 | -| main.rs:1379:16:1470:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1380:13:1380:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1380:22:1380:22 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1381:13:1381:13 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:1381:17:1381:17 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1382:13:1382:13 | z | | {EXTERNAL LOCATION} | i32 | -| main.rs:1382:17:1382:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1382:17:1382:21 | ... + ... | | {EXTERNAL LOCATION} | i32 | -| main.rs:1382:21:1382:21 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:1383:13:1383:13 | z | | {EXTERNAL LOCATION} | i32 | -| main.rs:1383:17:1383:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1383:17:1383:23 | x.abs() | | {EXTERNAL LOCATION} | i32 | -| main.rs:1384:13:1384:13 | c | | {EXTERNAL LOCATION} | char | -| main.rs:1384:17:1384:19 | 'c' | | {EXTERNAL LOCATION} | char | -| main.rs:1385:13:1385:17 | hello | | {EXTERNAL LOCATION} | & | -| main.rs:1385:13:1385:17 | hello | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1385:21:1385:27 | "Hello" | | {EXTERNAL LOCATION} | & | -| main.rs:1385:21:1385:27 | "Hello" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1386:13:1386:13 | f | | {EXTERNAL LOCATION} | f64 | -| main.rs:1386:17:1386:24 | 123.0f64 | | {EXTERNAL LOCATION} | f64 | -| main.rs:1387:13:1387:13 | t | | {EXTERNAL LOCATION} | bool | -| main.rs:1387:17:1387:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1388:13:1388:13 | f | | {EXTERNAL LOCATION} | bool | -| main.rs:1388:17:1388:21 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1391:26:1391:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1391:26:1391:30 | SelfParam | TRef | main.rs:1390:9:1394:9 | Self [trait MyTrait] | -| main.rs:1397:26:1397:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1397:26:1397:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:1397:26:1397:30 | SelfParam | TRef.TArray | main.rs:1396:14:1396:23 | T | -| main.rs:1397:39:1399:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1397:39:1399:13 | { ... } | TRef | main.rs:1396:14:1396:23 | T | -| main.rs:1398:17:1398:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1398:17:1398:20 | self | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:1398:17:1398:20 | self | TRef.TArray | main.rs:1396:14:1396:23 | T | -| main.rs:1398:17:1398:36 | ... .unwrap() | | {EXTERNAL LOCATION} | & | -| main.rs:1398:17:1398:36 | ... .unwrap() | TRef | main.rs:1396:14:1396:23 | T | -| main.rs:1398:26:1398:26 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1401:31:1403:13 | { ... } | | main.rs:1396:14:1396:23 | T | -| main.rs:1402:17:1402:28 | ...::default(...) | | main.rs:1396:14:1396:23 | T | -| main.rs:1406:13:1406:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1406:13:1406:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1406:17:1406:25 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1406:17:1406:25 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:1406:17:1406:37 | ... .my_method() | | {EXTERNAL LOCATION} | & | -| main.rs:1406:17:1406:37 | ... .my_method() | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1406:18:1406:18 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1406:21:1406:21 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1406:24:1406:24 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1407:13:1407:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1407:13:1407:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1407:17:1407:47 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1407:17:1407:47 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1407:22:1407:22 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1407:37:1407:46 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1407:37:1407:46 | &... | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:1407:37:1407:46 | &... | TRef.TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:1407:38:1407:46 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1407:38:1407:46 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:1407:39:1407:39 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1407:42:1407:42 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1407:45:1407:45 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1408:13:1408:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1408:17:1408:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1408:24:1408:24 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1411:26:1411:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1411:26:1411:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1411:26:1411:30 | SelfParam | TRef.TSlice | main.rs:1410:14:1410:23 | T | -| main.rs:1411:39:1413:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1411:39:1413:13 | { ... } | TRef | main.rs:1410:14:1410:23 | T | -| main.rs:1412:17:1412:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1412:17:1412:20 | self | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1412:17:1412:20 | self | TRef.TSlice | main.rs:1410:14:1410:23 | T | -| main.rs:1412:17:1412:27 | self.get(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:1412:17:1412:27 | self.get(...) | T | {EXTERNAL LOCATION} | & | -| main.rs:1412:17:1412:36 | ... .unwrap() | | {EXTERNAL LOCATION} | & | -| main.rs:1412:17:1412:36 | ... .unwrap() | TRef | main.rs:1410:14:1410:23 | T | -| main.rs:1412:26:1412:26 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1415:31:1417:13 | { ... } | | main.rs:1410:14:1410:23 | T | -| main.rs:1416:17:1416:28 | ...::default(...) | | main.rs:1410:14:1410:23 | T | -| main.rs:1420:13:1420:13 | s | | {EXTERNAL LOCATION} | & | -| main.rs:1420:13:1420:13 | s | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1420:13:1420:13 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1420:25:1420:34 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1420:25:1420:34 | &... | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1420:25:1420:34 | &... | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:1420:25:1420:34 | &... | TRef.TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:1420:25:1420:34 | &... | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1420:26:1420:34 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1420:26:1420:34 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:1420:27:1420:27 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1420:30:1420:30 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1420:33:1420:33 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1421:13:1421:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1421:13:1421:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1421:17:1421:17 | s | | {EXTERNAL LOCATION} | & | -| main.rs:1421:17:1421:17 | s | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1421:17:1421:17 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1421:17:1421:29 | s.my_method() | | {EXTERNAL LOCATION} | & | -| main.rs:1421:17:1421:29 | s.my_method() | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1422:13:1422:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1422:13:1422:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1422:17:1422:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1422:17:1422:35 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1422:34:1422:34 | s | | {EXTERNAL LOCATION} | & | -| main.rs:1422:34:1422:34 | s | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:1422:34:1422:34 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1423:13:1423:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1423:17:1423:34 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1426:26:1426:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1426:26:1426:30 | SelfParam | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1426:26:1426:30 | SelfParam | TRef.T0 | main.rs:1425:14:1425:23 | T | -| main.rs:1426:26:1426:30 | SelfParam | TRef.T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1426:39:1428:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1426:39:1428:13 | { ... } | TRef | main.rs:1425:14:1425:23 | T | -| main.rs:1427:17:1427:23 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1427:17:1427:23 | &... | TRef | main.rs:1425:14:1425:23 | T | -| main.rs:1427:18:1427:21 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1427:18:1427:21 | self | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1427:18:1427:21 | self | TRef.T0 | main.rs:1425:14:1425:23 | T | -| main.rs:1427:18:1427:21 | self | TRef.T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1427:18:1427:23 | self.0 | | main.rs:1425:14:1425:23 | T | -| main.rs:1430:31:1432:13 | { ... } | | main.rs:1425:14:1425:23 | T | -| main.rs:1431:17:1431:28 | ...::default(...) | | main.rs:1425:14:1425:23 | T | -| main.rs:1435:13:1435:13 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1435:13:1435:13 | p | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:1435:13:1435:13 | p | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1435:17:1435:23 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1435:17:1435:23 | TupleExpr | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:1435:17:1435:23 | TupleExpr | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1435:18:1435:19 | 42 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1435:22:1435:22 | 7 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1436:13:1436:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1436:13:1436:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1436:17:1436:17 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1436:17:1436:17 | p | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:1436:17:1436:17 | p | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1436:17:1436:29 | p.my_method() | | {EXTERNAL LOCATION} | & | -| main.rs:1436:17:1436:29 | p.my_method() | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1437:13:1437:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1437:13:1437:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1437:17:1437:39 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1437:17:1437:39 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1437:37:1437:38 | &p | | {EXTERNAL LOCATION} | & | -| main.rs:1437:37:1437:38 | &p | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1437:37:1437:38 | &p | TRef.T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:1437:37:1437:38 | &p | TRef.T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1437:38:1437:38 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1437:38:1437:38 | p | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:1437:38:1437:38 | p | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1438:13:1438:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1438:17:1438:39 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1441:26:1441:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1441:26:1441:30 | SelfParam | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1441:26:1441:30 | SelfParam | TRef.TRef | main.rs:1440:14:1440:23 | T | -| main.rs:1441:39:1443:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1441:39:1443:13 | { ... } | TRef | main.rs:1440:14:1440:23 | T | -| main.rs:1442:17:1442:21 | * ... | | {EXTERNAL LOCATION} | & | -| main.rs:1442:17:1442:21 | * ... | TRef | main.rs:1440:14:1440:23 | T | -| main.rs:1442:18:1442:21 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1442:18:1442:21 | self | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1442:18:1442:21 | self | TRef.TRef | main.rs:1440:14:1440:23 | T | -| main.rs:1445:31:1447:13 | { ... } | | main.rs:1440:14:1440:23 | T | -| main.rs:1446:17:1446:28 | ...::default(...) | | main.rs:1440:14:1440:23 | T | -| main.rs:1450:13:1450:13 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1450:13:1450:13 | r | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1450:17:1450:19 | &42 | | {EXTERNAL LOCATION} | & | -| main.rs:1450:17:1450:19 | &42 | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1450:18:1450:19 | 42 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1451:13:1451:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1451:13:1451:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1451:17:1451:17 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1451:17:1451:17 | r | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1451:17:1451:29 | r.my_method() | | {EXTERNAL LOCATION} | & | -| main.rs:1451:17:1451:29 | r.my_method() | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1452:13:1452:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1452:13:1452:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1452:17:1452:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1452:17:1452:35 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1452:33:1452:34 | &r | | {EXTERNAL LOCATION} | & | -| main.rs:1452:33:1452:34 | &r | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1452:33:1452:34 | &r | TRef.TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1452:34:1452:34 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1452:34:1452:34 | r | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1453:13:1453:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1453:17:1453:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1456:26:1456:30 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1456:26:1456:30 | SelfParam | TRef | {EXTERNAL LOCATION} | *mut | -| main.rs:1456:26:1456:30 | SelfParam | TRef.TPtrMut | main.rs:1455:14:1455:23 | T | -| main.rs:1456:39:1458:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1456:39:1458:13 | { ... } | TRef | main.rs:1455:14:1455:23 | T | -| main.rs:1457:17:1457:34 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1457:17:1457:34 | { ... } | TRef | main.rs:1455:14:1455:23 | T | -| main.rs:1457:26:1457:32 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1457:26:1457:32 | &... | TRef | main.rs:1455:14:1455:23 | T | -| main.rs:1457:27:1457:32 | * ... | | main.rs:1455:14:1455:23 | T | -| main.rs:1457:28:1457:32 | * ... | | {EXTERNAL LOCATION} | *mut | -| main.rs:1457:28:1457:32 | * ... | TPtrMut | main.rs:1455:14:1455:23 | T | -| main.rs:1457:29:1457:32 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1457:29:1457:32 | self | TRef | {EXTERNAL LOCATION} | *mut | -| main.rs:1457:29:1457:32 | self | TRef.TPtrMut | main.rs:1455:14:1455:23 | T | -| main.rs:1460:31:1462:13 | { ... } | | main.rs:1455:14:1455:23 | T | -| main.rs:1461:17:1461:28 | ...::default(...) | | main.rs:1455:14:1455:23 | T | -| main.rs:1465:17:1465:17 | v | | {EXTERNAL LOCATION} | i32 | -| main.rs:1465:21:1465:22 | 42 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1466:13:1466:13 | p | | {EXTERNAL LOCATION} | *mut | -| main.rs:1466:13:1466:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1466:27:1466:32 | &mut v | | {EXTERNAL LOCATION} | &mut | -| main.rs:1466:27:1466:32 | &mut v | TRefMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1466:32:1466:32 | v | | {EXTERNAL LOCATION} | i32 | -| main.rs:1467:13:1467:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1467:13:1467:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1467:17:1467:40 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1467:17:1467:40 | { ... } | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1467:26:1467:26 | p | | {EXTERNAL LOCATION} | *mut | -| main.rs:1467:26:1467:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1467:26:1467:38 | p.my_method() | | {EXTERNAL LOCATION} | & | -| main.rs:1467:26:1467:38 | p.my_method() | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1369:22:1369:30 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1369:22:1369:30 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1369:22:1369:30 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1369:30:1369:30 | v | | main.rs:1366:20:1366:27 | T | +| main.rs:1370:13:1370:34 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1370:13:1370:34 | ...::Ok::<...>(...) | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1370:13:1370:34 | ...::Ok::<...>(...) | T | main.rs:1366:20:1366:27 | T | +| main.rs:1370:33:1370:33 | v | | main.rs:1366:20:1366:27 | T | +| main.rs:1372:9:1372:23 | ...::Err(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1372:9:1372:23 | ...::Err(...) | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1372:9:1372:23 | ...::Err(...) | T | main.rs:1366:20:1366:27 | T | +| main.rs:1372:21:1372:22 | S1 | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1376:16:1392:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1377:9:1379:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1377:16:1377:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1377:16:1377:33 | ...::Ok(...) | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1377:16:1377:33 | ...::Ok(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1377:27:1377:32 | result | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1377:37:1377:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1377:37:1377:52 | try_same_error(...) | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1377:37:1377:52 | try_same_error(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1377:54:1379:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1378:13:1378:36 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1378:22:1378:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1378:22:1378:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1378:22:1378:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1378:22:1378:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1378:22:1378:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1378:30:1378:35 | result | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1381:9:1383:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1381:16:1381:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1381:16:1381:33 | ...::Ok(...) | E | main.rs:1337:5:1338:14 | S2 | +| main.rs:1381:16:1381:33 | ...::Ok(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1381:27:1381:32 | result | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1381:37:1381:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1381:37:1381:55 | try_convert_error(...) | E | main.rs:1337:5:1338:14 | S2 | +| main.rs:1381:37:1381:55 | try_convert_error(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1381:57:1383:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1382:13:1382:36 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1382:22:1382:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1382:22:1382:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1382:22:1382:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1382:22:1382:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1382:22:1382:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1382:30:1382:35 | result | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1385:9:1387:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1385:16:1385:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1385:16:1385:33 | ...::Ok(...) | E | main.rs:1337:5:1338:14 | S2 | +| main.rs:1385:16:1385:33 | ...::Ok(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1385:27:1385:32 | result | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1385:37:1385:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1385:37:1385:49 | try_chained(...) | E | main.rs:1337:5:1338:14 | S2 | +| main.rs:1385:37:1385:49 | try_chained(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1385:51:1387:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1386:13:1386:36 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1386:22:1386:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1386:22:1386:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1386:22:1386:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1386:22:1386:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1386:22:1386:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1386:30:1386:35 | result | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1389:9:1391:9 | if ... {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1389:16:1389:33 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1389:16:1389:33 | ...::Ok(...) | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1389:16:1389:33 | ...::Ok(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1389:27:1389:32 | result | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1389:37:1389:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1389:37:1389:63 | try_complex(...) | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1389:37:1389:63 | try_complex(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1389:49:1389:62 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:1389:49:1389:62 | ...::Ok(...) | E | main.rs:1334:5:1335:14 | S1 | +| main.rs:1389:49:1389:62 | ...::Ok(...) | T | main.rs:1334:5:1335:14 | S1 | +| main.rs:1389:60:1389:61 | S1 | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1389:65:1391:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1390:13:1390:36 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:1390:22:1390:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:1390:22:1390:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1390:22:1390:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:1390:22:1390:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1390:22:1390:35 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1390:30:1390:35 | result | | main.rs:1334:5:1335:14 | S1 | +| main.rs:1396:16:1487:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1397:13:1397:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1397:22:1397:22 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1398:13:1398:13 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:1398:17:1398:17 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1399:13:1399:13 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:1399:17:1399:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1399:17:1399:21 | ... + ... | | {EXTERNAL LOCATION} | i32 | +| main.rs:1399:21:1399:21 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:1400:13:1400:13 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:1400:17:1400:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1400:17:1400:23 | x.abs() | | {EXTERNAL LOCATION} | i32 | +| main.rs:1401:13:1401:13 | c | | {EXTERNAL LOCATION} | char | +| main.rs:1401:17:1401:19 | 'c' | | {EXTERNAL LOCATION} | char | +| main.rs:1402:13:1402:17 | hello | | {EXTERNAL LOCATION} | & | +| main.rs:1402:13:1402:17 | hello | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1402:21:1402:27 | "Hello" | | {EXTERNAL LOCATION} | & | +| main.rs:1402:21:1402:27 | "Hello" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:1403:13:1403:13 | f | | {EXTERNAL LOCATION} | f64 | +| main.rs:1403:17:1403:24 | 123.0f64 | | {EXTERNAL LOCATION} | f64 | +| main.rs:1404:13:1404:13 | t | | {EXTERNAL LOCATION} | bool | +| main.rs:1404:17:1404:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1405:13:1405:13 | f | | {EXTERNAL LOCATION} | bool | +| main.rs:1405:17:1405:21 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1408:26:1408:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1408:26:1408:30 | SelfParam | TRef | main.rs:1407:9:1411:9 | Self [trait MyTrait] | +| main.rs:1414:26:1414:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1414:26:1414:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1414:26:1414:30 | SelfParam | TRef.TArray | main.rs:1413:14:1413:23 | T | +| main.rs:1414:39:1416:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1414:39:1416:13 | { ... } | TRef | main.rs:1413:14:1413:23 | T | +| main.rs:1415:17:1415:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1415:17:1415:20 | self | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1415:17:1415:20 | self | TRef.TArray | main.rs:1413:14:1413:23 | T | +| main.rs:1415:17:1415:36 | ... .unwrap() | | {EXTERNAL LOCATION} | & | +| main.rs:1415:17:1415:36 | ... .unwrap() | TRef | main.rs:1413:14:1413:23 | T | +| main.rs:1415:26:1415:26 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1418:31:1420:13 | { ... } | | main.rs:1413:14:1413:23 | T | +| main.rs:1419:17:1419:28 | ...::default(...) | | main.rs:1413:14:1413:23 | T | +| main.rs:1423:13:1423:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1423:13:1423:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1423:17:1423:25 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1423:17:1423:25 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:1423:17:1423:37 | ... .my_method() | | {EXTERNAL LOCATION} | & | +| main.rs:1423:17:1423:37 | ... .my_method() | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1423:18:1423:18 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1423:21:1423:21 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1423:24:1423:24 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1424:13:1424:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1424:13:1424:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1424:17:1424:47 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1424:17:1424:47 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1424:22:1424:22 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1424:37:1424:46 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1424:37:1424:46 | &... | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1424:37:1424:46 | &... | TRef.TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:1424:38:1424:46 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1424:38:1424:46 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:1424:39:1424:39 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1424:42:1424:42 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1424:45:1424:45 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1425:13:1425:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1425:17:1425:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1425:24:1425:24 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1428:26:1428:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1428:26:1428:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1428:26:1428:30 | SelfParam | TRef.TSlice | main.rs:1427:14:1427:23 | T | +| main.rs:1428:39:1430:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1428:39:1430:13 | { ... } | TRef | main.rs:1427:14:1427:23 | T | +| main.rs:1429:17:1429:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1429:17:1429:20 | self | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1429:17:1429:20 | self | TRef.TSlice | main.rs:1427:14:1427:23 | T | +| main.rs:1429:17:1429:27 | self.get(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:1429:17:1429:27 | self.get(...) | T | {EXTERNAL LOCATION} | & | +| main.rs:1429:17:1429:36 | ... .unwrap() | | {EXTERNAL LOCATION} | & | +| main.rs:1429:17:1429:36 | ... .unwrap() | TRef | main.rs:1427:14:1427:23 | T | +| main.rs:1429:26:1429:26 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1432:31:1434:13 | { ... } | | main.rs:1427:14:1427:23 | T | +| main.rs:1433:17:1433:28 | ...::default(...) | | main.rs:1427:14:1427:23 | T | +| main.rs:1437:13:1437:13 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1437:13:1437:13 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1437:13:1437:13 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1437:25:1437:34 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1437:25:1437:34 | &... | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1437:25:1437:34 | &... | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:1437:25:1437:34 | &... | TRef.TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:1437:25:1437:34 | &... | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1437:26:1437:34 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:1437:26:1437:34 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:1437:27:1437:27 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1437:30:1437:30 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1437:33:1437:33 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1438:13:1438:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1438:13:1438:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1438:17:1438:17 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1438:17:1438:17 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1438:17:1438:17 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1438:17:1438:29 | s.my_method() | | {EXTERNAL LOCATION} | & | +| main.rs:1438:17:1438:29 | s.my_method() | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1439:13:1439:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1439:13:1439:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1439:17:1439:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1439:17:1439:35 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1439:34:1439:34 | s | | {EXTERNAL LOCATION} | & | +| main.rs:1439:34:1439:34 | s | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:1439:34:1439:34 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | +| main.rs:1440:13:1440:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1440:17:1440:34 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1443:26:1443:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1443:26:1443:30 | SelfParam | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1443:26:1443:30 | SelfParam | TRef.T0 | main.rs:1442:14:1442:23 | T | +| main.rs:1443:26:1443:30 | SelfParam | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1443:39:1445:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1443:39:1445:13 | { ... } | TRef | main.rs:1442:14:1442:23 | T | +| main.rs:1444:17:1444:23 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1444:17:1444:23 | &... | TRef | main.rs:1442:14:1442:23 | T | +| main.rs:1444:18:1444:21 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1444:18:1444:21 | self | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1444:18:1444:21 | self | TRef.T0 | main.rs:1442:14:1442:23 | T | +| main.rs:1444:18:1444:21 | self | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1444:18:1444:23 | self.0 | | main.rs:1442:14:1442:23 | T | +| main.rs:1447:31:1449:13 | { ... } | | main.rs:1442:14:1442:23 | T | +| main.rs:1448:17:1448:28 | ...::default(...) | | main.rs:1442:14:1442:23 | T | +| main.rs:1452:13:1452:13 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1452:13:1452:13 | p | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:1452:13:1452:13 | p | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1452:17:1452:23 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1452:17:1452:23 | TupleExpr | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:1452:17:1452:23 | TupleExpr | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1452:18:1452:19 | 42 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1452:22:1452:22 | 7 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1453:13:1453:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1453:13:1453:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1453:17:1453:17 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1453:17:1453:17 | p | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:1453:17:1453:17 | p | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1453:17:1453:29 | p.my_method() | | {EXTERNAL LOCATION} | & | +| main.rs:1453:17:1453:29 | p.my_method() | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1454:13:1454:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1454:13:1454:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1454:17:1454:39 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1454:17:1454:39 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1454:37:1454:38 | &p | | {EXTERNAL LOCATION} | & | +| main.rs:1454:37:1454:38 | &p | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1454:37:1454:38 | &p | TRef.T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:1454:37:1454:38 | &p | TRef.T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1454:38:1454:38 | p | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1454:38:1454:38 | p | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:1454:38:1454:38 | p | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:1455:13:1455:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1455:17:1455:39 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1458:26:1458:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1458:26:1458:30 | SelfParam | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1458:26:1458:30 | SelfParam | TRef.TRef | main.rs:1457:14:1457:23 | T | +| main.rs:1458:39:1460:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1458:39:1460:13 | { ... } | TRef | main.rs:1457:14:1457:23 | T | +| main.rs:1459:17:1459:21 | * ... | | {EXTERNAL LOCATION} | & | +| main.rs:1459:17:1459:21 | * ... | TRef | main.rs:1457:14:1457:23 | T | +| main.rs:1459:18:1459:21 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1459:18:1459:21 | self | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1459:18:1459:21 | self | TRef.TRef | main.rs:1457:14:1457:23 | T | +| main.rs:1462:31:1464:13 | { ... } | | main.rs:1457:14:1457:23 | T | +| main.rs:1463:17:1463:28 | ...::default(...) | | main.rs:1457:14:1457:23 | T | +| main.rs:1467:13:1467:13 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1467:13:1467:13 | r | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1467:17:1467:19 | &42 | | {EXTERNAL LOCATION} | & | +| main.rs:1467:17:1467:19 | &42 | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1467:18:1467:19 | 42 | | {EXTERNAL LOCATION} | i32 | | main.rs:1468:13:1468:13 | x | | {EXTERNAL LOCATION} | & | | main.rs:1468:13:1468:13 | x | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1468:17:1468:50 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1468:17:1468:50 | { ... } | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1468:26:1468:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1468:26:1468:48 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:1468:46:1468:47 | &p | | {EXTERNAL LOCATION} | & | -| main.rs:1468:46:1468:47 | &p | TRef | {EXTERNAL LOCATION} | *mut | -| main.rs:1468:46:1468:47 | &p | TRef.TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1468:47:1468:47 | p | | {EXTERNAL LOCATION} | *mut | -| main.rs:1468:47:1468:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1469:13:1469:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1469:17:1469:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:1475:16:1487:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1476:13:1476:13 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:1476:17:1476:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1476:17:1476:29 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1476:25:1476:29 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1477:13:1477:13 | y | | {EXTERNAL LOCATION} | bool | -| main.rs:1477:17:1477:20 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1477:17:1477:29 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1477:25:1477:29 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:1479:17:1479:17 | a | | {EXTERNAL LOCATION} | i32 | -| main.rs:1480:13:1480:16 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:1480:20:1480:21 | 34 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1480:20:1480:27 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1480:26:1480:27 | 33 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1481:9:1485:9 | if cond {...} else {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1481:12:1481:15 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:1481:17:1483:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1482:17:1482:17 | z | | {EXTERNAL LOCATION} | () | -| main.rs:1482:21:1482:27 | (...) | | {EXTERNAL LOCATION} | () | -| main.rs:1482:22:1482:22 | a | | {EXTERNAL LOCATION} | i32 | -| main.rs:1482:22:1482:26 | ... = ... | | {EXTERNAL LOCATION} | () | -| main.rs:1482:26:1482:26 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1483:16:1485:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1484:13:1484:13 | a | | {EXTERNAL LOCATION} | i32 | -| main.rs:1484:13:1484:17 | ... = ... | | {EXTERNAL LOCATION} | () | -| main.rs:1484:17:1484:17 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1486:9:1486:9 | a | | {EXTERNAL LOCATION} | i32 | -| main.rs:1500:30:1502:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1501:13:1501:31 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1501:23:1501:23 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1501:29:1501:29 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1508:16:1508:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1508:22:1508:24 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1508:41:1513:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1509:13:1512:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1510:20:1510:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1510:20:1510:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1510:20:1510:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1510:29:1510:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1510:29:1510:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1511:20:1511:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1511:20:1511:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1511:20:1511:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1511:29:1511:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1511:29:1511:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1518:23:1518:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1518:23:1518:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1518:34:1518:36 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1518:45:1521:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1519:13:1519:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1519:13:1519:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1519:13:1519:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1519:13:1519:27 | ... += ... | | {EXTERNAL LOCATION} | () | -| main.rs:1519:23:1519:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1519:23:1519:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1520:13:1520:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1520:13:1520:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1520:13:1520:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1520:13:1520:27 | ... += ... | | {EXTERNAL LOCATION} | () | -| main.rs:1520:23:1520:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1520:23:1520:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1526:16:1526:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1526:22:1526:24 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1526:41:1531:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1527:13:1530:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1528:20:1528:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1528:20:1528:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1528:20:1528:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1528:29:1528:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1528:29:1528:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1529:20:1529:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1529:20:1529:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1529:20:1529:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1529:29:1529:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1529:29:1529:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1536:23:1536:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1536:23:1536:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1536:34:1536:36 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1536:45:1539:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1468:17:1468:17 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1468:17:1468:17 | r | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1468:17:1468:29 | r.my_method() | | {EXTERNAL LOCATION} | & | +| main.rs:1468:17:1468:29 | r.my_method() | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1469:13:1469:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1469:13:1469:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1469:17:1469:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1469:17:1469:35 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1469:33:1469:34 | &r | | {EXTERNAL LOCATION} | & | +| main.rs:1469:33:1469:34 | &r | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1469:33:1469:34 | &r | TRef.TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1469:34:1469:34 | r | | {EXTERNAL LOCATION} | & | +| main.rs:1469:34:1469:34 | r | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1470:13:1470:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1470:17:1470:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1473:26:1473:30 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1473:26:1473:30 | SelfParam | TRef | {EXTERNAL LOCATION} | *mut | +| main.rs:1473:26:1473:30 | SelfParam | TRef.TPtrMut | main.rs:1472:14:1472:23 | T | +| main.rs:1473:39:1475:13 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1473:39:1475:13 | { ... } | TRef | main.rs:1472:14:1472:23 | T | +| main.rs:1474:17:1474:34 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1474:17:1474:34 | { ... } | TRef | main.rs:1472:14:1472:23 | T | +| main.rs:1474:26:1474:32 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1474:26:1474:32 | &... | TRef | main.rs:1472:14:1472:23 | T | +| main.rs:1474:27:1474:32 | * ... | | main.rs:1472:14:1472:23 | T | +| main.rs:1474:28:1474:32 | * ... | | {EXTERNAL LOCATION} | *mut | +| main.rs:1474:28:1474:32 | * ... | TPtrMut | main.rs:1472:14:1472:23 | T | +| main.rs:1474:29:1474:32 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1474:29:1474:32 | self | TRef | {EXTERNAL LOCATION} | *mut | +| main.rs:1474:29:1474:32 | self | TRef.TPtrMut | main.rs:1472:14:1472:23 | T | +| main.rs:1477:31:1479:13 | { ... } | | main.rs:1472:14:1472:23 | T | +| main.rs:1478:17:1478:28 | ...::default(...) | | main.rs:1472:14:1472:23 | T | +| main.rs:1482:17:1482:17 | v | | {EXTERNAL LOCATION} | i32 | +| main.rs:1482:21:1482:22 | 42 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1483:13:1483:13 | p | | {EXTERNAL LOCATION} | *mut | +| main.rs:1483:13:1483:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1483:27:1483:32 | &mut v | | {EXTERNAL LOCATION} | &mut | +| main.rs:1483:27:1483:32 | &mut v | TRefMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1483:32:1483:32 | v | | {EXTERNAL LOCATION} | i32 | +| main.rs:1484:13:1484:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1484:13:1484:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1484:17:1484:40 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1484:17:1484:40 | { ... } | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1484:26:1484:26 | p | | {EXTERNAL LOCATION} | *mut | +| main.rs:1484:26:1484:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1484:26:1484:38 | p.my_method() | | {EXTERNAL LOCATION} | & | +| main.rs:1484:26:1484:38 | p.my_method() | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1485:13:1485:13 | x | | {EXTERNAL LOCATION} | & | +| main.rs:1485:13:1485:13 | x | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1485:17:1485:50 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:1485:17:1485:50 | { ... } | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1485:26:1485:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1485:26:1485:48 | ...::my_method(...) | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:1485:46:1485:47 | &p | | {EXTERNAL LOCATION} | & | +| main.rs:1485:46:1485:47 | &p | TRef | {EXTERNAL LOCATION} | *mut | +| main.rs:1485:46:1485:47 | &p | TRef.TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1485:47:1485:47 | p | | {EXTERNAL LOCATION} | *mut | +| main.rs:1485:47:1485:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | +| main.rs:1486:13:1486:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:1486:17:1486:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:1492:16:1504:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1493:13:1493:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:1493:17:1493:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1493:17:1493:29 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1493:25:1493:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1494:13:1494:13 | y | | {EXTERNAL LOCATION} | bool | +| main.rs:1494:17:1494:20 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:1494:17:1494:29 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1494:25:1494:29 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:1496:17:1496:17 | a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1497:13:1497:16 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:1497:20:1497:21 | 34 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1497:20:1497:27 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1497:26:1497:27 | 33 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1498:9:1502:9 | if cond {...} else {...} | | {EXTERNAL LOCATION} | () | +| main.rs:1498:12:1498:15 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:1498:17:1500:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1499:17:1499:17 | z | | {EXTERNAL LOCATION} | () | +| main.rs:1499:21:1499:27 | (...) | | {EXTERNAL LOCATION} | () | +| main.rs:1499:22:1499:22 | a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1499:22:1499:26 | ... = ... | | {EXTERNAL LOCATION} | () | +| main.rs:1499:26:1499:26 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1500:16:1502:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1501:13:1501:13 | a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1501:13:1501:17 | ... = ... | | {EXTERNAL LOCATION} | () | +| main.rs:1501:17:1501:17 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1503:9:1503:9 | a | | {EXTERNAL LOCATION} | i32 | +| main.rs:1517:30:1519:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1518:13:1518:31 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1518:23:1518:23 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1518:29:1518:29 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1525:16:1525:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1525:22:1525:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1525:41:1530:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1526:13:1529:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1527:20:1527:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1527:20:1527:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1527:20:1527:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1527:29:1527:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1527:29:1527:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1528:20:1528:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1528:20:1528:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1528:20:1528:33 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1528:29:1528:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1528:29:1528:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1535:23:1535:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1535:23:1535:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1535:34:1535:36 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1535:45:1538:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1536:13:1536:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1536:13:1536:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1536:13:1536:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1536:13:1536:27 | ... += ... | | {EXTERNAL LOCATION} | () | +| main.rs:1536:23:1536:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1536:23:1536:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1537:13:1537:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1537:13:1537:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1537:13:1537:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1537:13:1537:27 | ... -= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1537:23:1537:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1537:23:1537:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1538:13:1538:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1538:13:1538:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1538:13:1538:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1538:13:1538:27 | ... -= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1538:23:1538:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1538:23:1538:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1544:16:1544:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1544:22:1544:24 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1544:41:1549:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1545:13:1548:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1546:20:1546:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1546:20:1546:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1546:20:1546:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1546:29:1546:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1546:29:1546:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1547:20:1547:23 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1547:20:1547:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1547:20:1547:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1547:29:1547:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1547:29:1547:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1537:13:1537:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1537:13:1537:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1537:13:1537:27 | ... += ... | | {EXTERNAL LOCATION} | () | +| main.rs:1537:23:1537:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1537:23:1537:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1543:16:1543:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1543:22:1543:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1543:41:1548:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1544:13:1547:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1545:20:1545:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1545:20:1545:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1545:20:1545:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1545:29:1545:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1545:29:1545:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1546:20:1546:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1546:20:1546:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1546:20:1546:33 | ... - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1546:29:1546:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1546:29:1546:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1553:23:1553:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1553:23:1553:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1553:34:1553:36 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1553:23:1553:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1553:34:1553:36 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1553:45:1556:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1554:13:1554:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1554:13:1554:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1554:13:1554:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1554:13:1554:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1554:13:1554:27 | ... *= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1554:23:1554:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1554:13:1554:27 | ... -= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1554:23:1554:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1554:23:1554:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1555:13:1555:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1555:13:1555:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1555:13:1555:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1555:13:1555:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1555:13:1555:27 | ... *= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1555:23:1555:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1555:13:1555:27 | ... -= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1555:23:1555:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1555:23:1555:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1561:16:1561:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1561:22:1561:24 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1561:41:1566:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1562:13:1565:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1563:20:1563:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1561:16:1561:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1561:22:1561:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1561:41:1566:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1562:13:1565:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1563:20:1563:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1563:20:1563:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1563:20:1563:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1563:29:1563:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1563:20:1563:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1563:29:1563:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1563:29:1563:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1564:20:1564:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1564:20:1564:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1564:20:1564:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1564:20:1564:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1564:29:1564:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1564:20:1564:33 | ... * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1564:29:1564:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1564:29:1564:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1570:23:1570:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1570:23:1570:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1570:34:1570:36 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1570:23:1570:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1570:34:1570:36 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1570:45:1573:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1571:13:1571:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1571:13:1571:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1571:13:1571:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1571:13:1571:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1571:13:1571:27 | ... /= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1571:23:1571:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1571:13:1571:27 | ... *= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1571:23:1571:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1571:23:1571:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1572:13:1572:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1572:13:1572:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1572:13:1572:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1572:13:1572:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1572:13:1572:27 | ... /= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1572:23:1572:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1572:13:1572:27 | ... *= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1572:23:1572:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1572:23:1572:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1578:16:1578:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1578:22:1578:24 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1578:41:1583:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1579:13:1582:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1580:20:1580:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1578:16:1578:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1578:22:1578:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1578:41:1583:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1579:13:1582:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1580:20:1580:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1580:20:1580:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1580:20:1580:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1580:29:1580:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1580:20:1580:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1580:29:1580:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1580:29:1580:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1581:20:1581:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1581:20:1581:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1581:20:1581:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1581:20:1581:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1581:29:1581:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1581:20:1581:33 | ... / ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1581:29:1581:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1581:29:1581:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | | main.rs:1587:23:1587:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1587:23:1587:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1587:34:1587:36 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1587:23:1587:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1587:34:1587:36 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1587:45:1590:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1588:13:1588:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1588:13:1588:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1588:13:1588:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1588:13:1588:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1588:13:1588:27 | ... %= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1588:23:1588:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1588:13:1588:27 | ... /= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1588:23:1588:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1588:23:1588:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1589:13:1589:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1589:13:1589:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1589:13:1589:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1589:13:1589:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1589:13:1589:27 | ... %= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1589:23:1589:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1589:13:1589:27 | ... /= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1589:23:1589:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1589:23:1589:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1595:19:1595:22 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1595:25:1595:27 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1595:44:1600:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1596:13:1599:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1597:20:1597:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1595:16:1595:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1595:22:1595:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1595:41:1600:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1596:13:1599:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1597:20:1597:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1597:20:1597:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1597:20:1597:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1597:29:1597:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1597:20:1597:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1597:29:1597:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1597:29:1597:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1598:20:1598:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1598:20:1598:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1598:20:1598:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1598:20:1598:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1598:29:1598:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1598:20:1598:33 | ... % ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1598:29:1598:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1598:29:1598:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1604:26:1604:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1604:26:1604:34 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1604:37:1604:39 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1604:48:1607:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1604:23:1604:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1604:23:1604:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1604:34:1604:36 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1604:45:1607:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1605:13:1605:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1605:13:1605:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1605:13:1605:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1605:13:1605:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1605:13:1605:27 | ... &= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1605:23:1605:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1605:13:1605:27 | ... %= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1605:23:1605:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1605:23:1605:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1606:13:1606:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1606:13:1606:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1606:13:1606:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1606:13:1606:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1606:13:1606:27 | ... &= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1606:23:1606:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1606:13:1606:27 | ... %= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1606:23:1606:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1606:23:1606:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1612:18:1612:21 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1612:24:1612:26 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1612:43:1617:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1613:13:1616:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1614:20:1614:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1612:19:1612:22 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1612:25:1612:27 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1612:44:1617:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1613:13:1616:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1614:20:1614:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1614:20:1614:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1614:20:1614:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1614:29:1614:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1614:20:1614:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1614:29:1614:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1614:29:1614:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1615:20:1615:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1615:20:1615:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1615:20:1615:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1615:20:1615:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1615:29:1615:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1615:20:1615:33 | ... & ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1615:29:1615:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1615:29:1615:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1621:25:1621:33 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1621:25:1621:33 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1621:36:1621:38 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1621:47:1624:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1621:26:1621:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1621:26:1621:34 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1621:37:1621:39 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1621:48:1624:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1622:13:1622:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1622:13:1622:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1622:13:1622:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1622:13:1622:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1622:13:1622:27 | ... \|= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1622:23:1622:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1622:13:1622:27 | ... &= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1622:23:1622:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1622:23:1622:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1623:13:1623:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1623:13:1623:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1623:13:1623:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1623:13:1623:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1623:13:1623:27 | ... \|= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1623:23:1623:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1623:13:1623:27 | ... &= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1623:23:1623:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1623:23:1623:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1629:19:1629:22 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1629:25:1629:27 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1629:44:1634:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1630:13:1633:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1631:20:1631:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1629:18:1629:21 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1629:24:1629:26 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1629:43:1634:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1630:13:1633:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1631:20:1631:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1631:20:1631:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1631:20:1631:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1631:29:1631:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1631:20:1631:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1631:29:1631:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1631:29:1631:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1632:20:1632:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1632:20:1632:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1632:20:1632:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1632:20:1632:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1632:29:1632:31 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1632:20:1632:33 | ... \| ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1632:29:1632:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1632:29:1632:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1638:26:1638:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1638:26:1638:34 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1638:37:1638:39 | rhs | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1638:48:1641:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1638:25:1638:33 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1638:25:1638:33 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1638:36:1638:38 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1638:47:1641:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1639:13:1639:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1639:13:1639:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1639:13:1639:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1639:13:1639:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1639:13:1639:27 | ... ^= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1639:23:1639:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1639:13:1639:27 | ... \|= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1639:23:1639:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1639:23:1639:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1640:13:1640:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1640:13:1640:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1640:13:1640:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1640:13:1640:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1640:13:1640:27 | ... ^= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1640:23:1640:25 | rhs | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1640:13:1640:27 | ... \|= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1640:23:1640:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1640:23:1640:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1646:16:1646:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1646:22:1646:24 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1646:40:1651:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1647:13:1650:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1648:20:1648:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1646:19:1646:22 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1646:25:1646:27 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1646:44:1651:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1647:13:1650:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1648:20:1648:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1648:20:1648:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1648:20:1648:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1648:30:1648:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1649:20:1649:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1648:20:1648:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1648:29:1648:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1648:29:1648:33 | rhs.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1649:20:1649:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1649:20:1649:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1649:20:1649:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1649:30:1649:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1655:23:1655:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1655:23:1655:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1655:34:1655:36 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1655:44:1658:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1649:20:1649:33 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1649:29:1649:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1649:29:1649:33 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1655:26:1655:34 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1655:26:1655:34 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1655:37:1655:39 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1655:48:1658:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1656:13:1656:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1656:13:1656:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1656:13:1656:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1656:13:1656:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1656:13:1656:26 | ... <<= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1656:24:1656:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1656:13:1656:27 | ... ^= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1656:23:1656:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1656:23:1656:27 | rhs.x | | {EXTERNAL LOCATION} | i64 | | main.rs:1657:13:1657:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1657:13:1657:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1657:13:1657:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1657:13:1657:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1657:13:1657:26 | ... <<= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1657:24:1657:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1663:16:1663:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1657:13:1657:27 | ... ^= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1657:23:1657:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1657:23:1657:27 | rhs.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1663:16:1663:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1663:22:1663:24 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1663:40:1668:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1664:13:1667:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1665:20:1665:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1663:40:1668:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1664:13:1667:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1665:20:1665:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1665:20:1665:25 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1665:20:1665:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1665:20:1665:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1665:30:1665:32 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1666:20:1666:23 | self | | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1666:20:1666:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1666:20:1666:25 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1666:20:1666:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1666:20:1666:32 | ... << ... | | {EXTERNAL LOCATION} | i64 | | main.rs:1666:30:1666:32 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1672:23:1672:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:1672:23:1672:31 | SelfParam | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1672:23:1672:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1672:34:1672:36 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1672:44:1675:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1673:13:1673:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1673:13:1673:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1673:13:1673:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1673:13:1673:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1673:13:1673:26 | ... >>= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1673:13:1673:26 | ... <<= ... | | {EXTERNAL LOCATION} | () | | main.rs:1673:24:1673:26 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1674:13:1674:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:1674:13:1674:16 | self | TRefMut | main.rs:1493:5:1498:5 | Vec2 | +| main.rs:1674:13:1674:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1674:13:1674:18 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1674:13:1674:26 | ... >>= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1674:13:1674:26 | ... <<= ... | | {EXTERNAL LOCATION} | () | | main.rs:1674:24:1674:26 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1680:16:1680:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1680:30:1685:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1681:13:1684:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1682:20:1682:26 | - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1682:21:1682:24 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1682:21:1682:26 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1683:20:1683:26 | - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1683:21:1683:24 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1683:21:1683:26 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1690:16:1690:19 | SelfParam | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1690:30:1695:9 | { ... } | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1691:13:1694:13 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1692:20:1692:26 | ! ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1692:21:1692:24 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1692:21:1692:26 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1693:20:1693:26 | ! ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1693:21:1693:24 | self | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1693:21:1693:26 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1699:15:1699:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1699:15:1699:19 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1699:22:1699:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1699:22:1699:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1699:44:1701:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1700:13:1700:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1700:13:1700:16 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1700:13:1700:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1700:13:1700:29 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1700:13:1700:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1700:23:1700:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1700:23:1700:27 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1700:23:1700:29 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1700:34:1700:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1700:34:1700:37 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1700:34:1700:39 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1700:34:1700:50 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1700:44:1700:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1700:44:1700:48 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1700:44:1700:50 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1703:15:1703:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1703:15:1703:19 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1703:22:1703:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1703:22:1703:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1703:44:1705:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1704:13:1704:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1704:13:1704:16 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1704:13:1704:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1704:13:1704:29 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1704:13:1704:50 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1704:23:1704:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1704:23:1704:27 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1704:23:1704:29 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1704:34:1704:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1704:34:1704:37 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1704:34:1704:39 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1704:34:1704:50 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1704:44:1704:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1704:44:1704:48 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1704:44:1704:50 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1709:24:1709:28 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1709:24:1709:28 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1709:31:1709:35 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1709:31:1709:35 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1709:75:1711:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:1709:75:1711:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | -| main.rs:1710:13:1710:29 | (...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:1710:13:1710:63 | ... .partial_cmp(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:1710:13:1710:63 | ... .partial_cmp(...) | T | {EXTERNAL LOCATION} | Ordering | -| main.rs:1710:14:1710:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1710:14:1710:17 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1710:14:1710:19 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1710:14:1710:28 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1710:23:1710:26 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1710:23:1710:26 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1710:23:1710:28 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1710:43:1710:62 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1710:43:1710:62 | &... | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:1710:44:1710:62 | (...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:1710:45:1710:49 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1710:45:1710:49 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1710:45:1710:51 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1710:45:1710:61 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1710:55:1710:59 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1710:55:1710:59 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1710:55:1710:61 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1713:15:1713:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1713:15:1713:19 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1713:22:1713:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1713:22:1713:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1713:44:1715:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1714:13:1714:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1714:13:1714:16 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1714:13:1714:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1714:13:1714:28 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1714:13:1714:48 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1714:22:1714:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1714:22:1714:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1714:22:1714:28 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1714:33:1714:36 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1714:33:1714:36 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1714:33:1714:38 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1714:33:1714:48 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1714:42:1714:46 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1714:42:1714:46 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1714:42:1714:48 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1717:15:1717:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1717:15:1717:19 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1717:22:1717:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1717:22:1717:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1717:44:1719:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1718:13:1718:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1718:13:1718:16 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1718:13:1718:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1718:13:1718:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1718:13:1718:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1718:23:1718:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1718:23:1718:27 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1718:23:1718:29 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1718:34:1718:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1718:34:1718:37 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1718:34:1718:39 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1718:34:1718:50 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1718:44:1718:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1718:44:1718:48 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1718:44:1718:50 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1721:15:1721:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1721:15:1721:19 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1721:22:1721:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1721:22:1721:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1721:44:1723:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1722:13:1722:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1722:13:1722:16 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1722:13:1722:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1722:13:1722:28 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1722:13:1722:48 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1722:22:1722:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1722:22:1722:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1722:22:1722:28 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1722:33:1722:36 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1722:33:1722:36 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1722:33:1722:38 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1722:33:1722:48 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1722:42:1722:46 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1722:42:1722:46 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1722:42:1722:48 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1725:15:1725:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1725:15:1725:19 | SelfParam | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1725:22:1725:26 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1725:22:1725:26 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1725:44:1727:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:1726:13:1726:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1726:13:1726:16 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1726:13:1726:18 | self.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1726:13:1726:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1726:13:1726:50 | ... && ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1726:23:1726:27 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1726:23:1726:27 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1726:23:1726:29 | other.x | | {EXTERNAL LOCATION} | i64 | -| main.rs:1726:34:1726:37 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1726:34:1726:37 | self | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1726:34:1726:39 | self.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1726:34:1726:50 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1726:44:1726:48 | other | | {EXTERNAL LOCATION} | & | -| main.rs:1726:44:1726:48 | other | TRef | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1726:44:1726:50 | other.y | | {EXTERNAL LOCATION} | i64 | -| main.rs:1730:26:1730:26 | a | | main.rs:1730:18:1730:23 | T | -| main.rs:1730:32:1730:32 | b | | main.rs:1730:18:1730:23 | T | -| main.rs:1730:51:1732:5 | { ... } | | main.rs:1730:18:1730:23 | T::Output[Add] | -| main.rs:1731:9:1731:9 | a | | main.rs:1730:18:1730:23 | T | -| main.rs:1731:9:1731:13 | ... + ... | | main.rs:1730:18:1730:23 | T::Output[Add] | -| main.rs:1731:13:1731:13 | b | | main.rs:1730:18:1730:23 | T | -| main.rs:1734:16:1865:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1738:13:1738:18 | i64_eq | | {EXTERNAL LOCATION} | bool | -| main.rs:1738:22:1738:35 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:1738:23:1738:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1738:23:1738:34 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1738:31:1738:34 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1739:13:1739:18 | i64_ne | | {EXTERNAL LOCATION} | bool | -| main.rs:1739:22:1739:35 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:1739:23:1739:26 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1739:23:1739:34 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1739:31:1739:34 | 4i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1740:13:1740:18 | i64_lt | | {EXTERNAL LOCATION} | bool | -| main.rs:1740:22:1740:34 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:1740:23:1740:26 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1740:23:1740:33 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1740:30:1740:33 | 6i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1741:13:1741:18 | i64_le | | {EXTERNAL LOCATION} | bool | -| main.rs:1741:22:1741:35 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:1741:23:1741:26 | 7i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1741:23:1741:34 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1741:31:1741:34 | 8i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1742:13:1742:18 | i64_gt | | {EXTERNAL LOCATION} | bool | -| main.rs:1742:22:1742:35 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:1742:23:1742:26 | 9i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1742:23:1742:34 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1742:30:1742:34 | 10i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1743:13:1743:18 | i64_ge | | {EXTERNAL LOCATION} | bool | -| main.rs:1743:22:1743:37 | (...) | | {EXTERNAL LOCATION} | bool | -| main.rs:1743:23:1743:27 | 11i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1743:23:1743:36 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1743:32:1743:36 | 12i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1746:13:1746:19 | i64_add | | {EXTERNAL LOCATION} | i64 | -| main.rs:1746:23:1746:27 | 13i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1746:23:1746:35 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1746:31:1746:35 | 14i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1747:13:1747:19 | i64_sub | | {EXTERNAL LOCATION} | i64 | -| main.rs:1747:23:1747:27 | 15i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1747:23:1747:35 | ... - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1747:31:1747:35 | 16i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1748:13:1748:19 | i64_mul | | {EXTERNAL LOCATION} | i64 | -| main.rs:1748:23:1748:27 | 17i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1748:23:1748:35 | ... * ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1748:31:1748:35 | 18i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1749:13:1749:19 | i64_div | | {EXTERNAL LOCATION} | i64 | -| main.rs:1749:23:1749:27 | 19i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1749:23:1749:35 | ... / ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1749:31:1749:35 | 20i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1750:13:1750:19 | i64_rem | | {EXTERNAL LOCATION} | i64 | -| main.rs:1750:23:1750:27 | 21i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1750:23:1750:35 | ... % ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1750:31:1750:35 | 22i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1751:13:1751:25 | i64_param_add | | {EXTERNAL LOCATION} | i64 | -| main.rs:1751:29:1751:49 | param_add(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:1751:39:1751:42 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1751:45:1751:48 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1754:17:1754:30 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1754:34:1754:38 | 23i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1755:9:1755:22 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1755:9:1755:31 | ... += ... | | {EXTERNAL LOCATION} | () | -| main.rs:1755:27:1755:31 | 24i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1757:17:1757:30 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1757:34:1757:38 | 25i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1758:9:1758:22 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1758:9:1758:31 | ... -= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1758:27:1758:31 | 26i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1760:17:1760:30 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1760:34:1760:38 | 27i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1761:9:1761:22 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1761:9:1761:31 | ... *= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1761:27:1761:31 | 28i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1763:17:1763:30 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1763:34:1763:38 | 29i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1764:9:1764:22 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1764:9:1764:31 | ... /= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1764:27:1764:31 | 30i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1766:17:1766:30 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1766:34:1766:38 | 31i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1767:9:1767:22 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1767:9:1767:31 | ... %= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1767:27:1767:31 | 32i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1770:13:1770:22 | i64_bitand | | {EXTERNAL LOCATION} | i64 | -| main.rs:1770:26:1770:30 | 33i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1770:26:1770:38 | ... & ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1770:34:1770:38 | 34i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1771:13:1771:21 | i64_bitor | | {EXTERNAL LOCATION} | i64 | -| main.rs:1771:25:1771:29 | 35i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1771:25:1771:37 | ... \| ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1771:33:1771:37 | 36i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1772:13:1772:22 | i64_bitxor | | {EXTERNAL LOCATION} | i64 | -| main.rs:1772:26:1772:30 | 37i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1772:26:1772:38 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1772:34:1772:38 | 38i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1773:13:1773:19 | i64_shl | | {EXTERNAL LOCATION} | i64 | -| main.rs:1773:23:1773:27 | 39i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1773:23:1773:36 | ... << ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1773:32:1773:36 | 40i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1774:13:1774:19 | i64_shr | | {EXTERNAL LOCATION} | i64 | -| main.rs:1774:23:1774:27 | 41i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1774:23:1774:36 | ... >> ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1774:32:1774:36 | 42i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1777:17:1777:33 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1777:37:1777:41 | 43i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1778:9:1778:25 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1778:9:1778:34 | ... &= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1778:30:1778:34 | 44i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1780:17:1780:32 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1780:36:1780:40 | 45i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1781:9:1781:24 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1781:9:1781:33 | ... \|= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1781:29:1781:33 | 46i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1783:17:1783:33 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1783:37:1783:41 | 47i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1784:9:1784:25 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1784:9:1784:34 | ... ^= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1784:30:1784:34 | 48i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1786:17:1786:30 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1786:34:1786:38 | 49i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1787:9:1787:22 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1787:9:1787:32 | ... <<= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1787:28:1787:32 | 50i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1789:17:1789:30 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1789:34:1789:38 | 51i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1790:9:1790:22 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | -| main.rs:1790:9:1790:32 | ... >>= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1790:28:1790:32 | 52i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1792:13:1792:19 | i64_neg | | {EXTERNAL LOCATION} | i64 | -| main.rs:1792:23:1792:28 | - ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1792:24:1792:28 | 53i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1793:13:1793:19 | i64_not | | {EXTERNAL LOCATION} | i64 | -| main.rs:1793:23:1793:28 | ! ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:1793:24:1793:28 | 54i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:1796:13:1796:14 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1796:18:1796:36 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1796:28:1796:28 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1796:34:1796:34 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1797:13:1797:14 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1797:18:1797:36 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1797:28:1797:28 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1797:34:1797:34 | 4 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1800:13:1800:19 | vec2_eq | | {EXTERNAL LOCATION} | bool | -| main.rs:1800:23:1800:24 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1800:23:1800:30 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1800:29:1800:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1801:13:1801:19 | vec2_ne | | {EXTERNAL LOCATION} | bool | -| main.rs:1801:23:1801:24 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1801:23:1801:30 | ... != ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1801:29:1801:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1802:13:1802:19 | vec2_lt | | {EXTERNAL LOCATION} | bool | -| main.rs:1802:23:1802:24 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1802:23:1802:29 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1802:28:1802:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1803:13:1803:19 | vec2_le | | {EXTERNAL LOCATION} | bool | -| main.rs:1803:23:1803:24 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1803:23:1803:30 | ... <= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1803:29:1803:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1804:13:1804:19 | vec2_gt | | {EXTERNAL LOCATION} | bool | -| main.rs:1804:23:1804:24 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1804:23:1804:29 | ... > ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1804:28:1804:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1805:13:1805:19 | vec2_ge | | {EXTERNAL LOCATION} | bool | -| main.rs:1805:23:1805:24 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1805:23:1805:30 | ... >= ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1805:29:1805:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1808:13:1808:20 | vec2_add | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1808:24:1808:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1808:24:1808:30 | ... + ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1808:29:1808:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1809:13:1809:20 | vec2_sub | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1809:24:1809:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1809:24:1809:30 | ... - ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1809:29:1809:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1810:13:1810:20 | vec2_mul | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1810:24:1810:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1810:24:1810:30 | ... * ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1810:29:1810:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1811:13:1811:20 | vec2_div | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1811:24:1811:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1811:24:1811:30 | ... / ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1811:29:1811:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1812:13:1812:20 | vec2_rem | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1812:24:1812:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1812:24:1812:30 | ... % ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1812:29:1812:30 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1815:17:1815:31 | vec2_add_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1815:35:1815:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1816:9:1816:23 | vec2_add_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1816:9:1816:29 | ... += ... | | {EXTERNAL LOCATION} | () | -| main.rs:1816:28:1816:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1818:17:1818:31 | vec2_sub_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1818:35:1818:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1819:9:1819:23 | vec2_sub_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1819:9:1819:29 | ... -= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1819:28:1819:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1821:17:1821:31 | vec2_mul_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1821:35:1821:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1822:9:1822:23 | vec2_mul_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1822:9:1822:29 | ... *= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1822:28:1822:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1824:17:1824:31 | vec2_div_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1824:35:1824:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1825:9:1825:23 | vec2_div_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1825:9:1825:29 | ... /= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1825:28:1825:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1827:17:1827:31 | vec2_rem_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1827:35:1827:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1828:9:1828:23 | vec2_rem_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1828:9:1828:29 | ... %= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1828:28:1828:29 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1831:13:1831:23 | vec2_bitand | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1831:27:1831:28 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1831:27:1831:33 | ... & ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1831:32:1831:33 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1832:13:1832:22 | vec2_bitor | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1832:26:1832:27 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1832:26:1832:32 | ... \| ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1832:31:1832:32 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1833:13:1833:23 | vec2_bitxor | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1833:27:1833:28 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1833:27:1833:33 | ... ^ ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1833:32:1833:33 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1834:13:1834:20 | vec2_shl | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1834:24:1834:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1834:24:1834:33 | ... << ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1834:30:1834:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:1835:13:1835:20 | vec2_shr | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1835:24:1835:25 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1835:24:1835:33 | ... >> ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1835:30:1835:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:1838:17:1838:34 | vec2_bitand_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1838:38:1838:39 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1839:9:1839:26 | vec2_bitand_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1839:9:1839:32 | ... &= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1839:31:1839:32 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1841:17:1841:33 | vec2_bitor_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1841:37:1841:38 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1842:9:1842:25 | vec2_bitor_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1842:9:1842:31 | ... \|= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1842:30:1842:31 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1844:17:1844:34 | vec2_bitxor_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1844:38:1844:39 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1845:9:1845:26 | vec2_bitxor_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1845:9:1845:32 | ... ^= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1845:31:1845:32 | v2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1847:17:1847:31 | vec2_shl_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1847:35:1847:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1848:9:1848:23 | vec2_shl_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1848:9:1848:32 | ... <<= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1848:29:1848:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:1850:17:1850:31 | vec2_shr_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1850:35:1850:36 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1851:9:1851:23 | vec2_shr_assign | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1851:9:1851:32 | ... >>= ... | | {EXTERNAL LOCATION} | () | -| main.rs:1851:29:1851:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:1854:13:1854:20 | vec2_neg | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1854:24:1854:26 | - ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1854:25:1854:26 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1855:13:1855:20 | vec2_not | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1855:24:1855:26 | ! ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1855:25:1855:26 | v1 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1858:13:1858:24 | default_vec2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1858:28:1858:45 | ...::default(...) | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1859:13:1859:26 | vec2_zero_plus | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1859:30:1859:48 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1859:30:1859:63 | ... + ... | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1859:40:1859:40 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1859:46:1859:46 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1859:52:1859:63 | default_vec2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1863:13:1863:24 | default_vec2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1863:28:1863:45 | ...::default(...) | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1864:13:1864:26 | vec2_zero_plus | | {EXTERNAL LOCATION} | bool | -| main.rs:1864:30:1864:48 | Vec2 {...} | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1864:30:1864:64 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:1864:40:1864:40 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1864:46:1864:46 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:1864:53:1864:64 | default_vec2 | | main.rs:1493:5:1498:5 | Vec2 | -| main.rs:1874:18:1874:21 | SelfParam | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1874:24:1874:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1877:25:1879:5 | { ... } | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1878:9:1878:10 | S1 | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1881:41:1883:5 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1881:41:1883:5 | { ... } | dyn(Output) | main.rs:1871:5:1871:14 | S1 | -| main.rs:1882:9:1882:20 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1882:9:1882:20 | { ... } | dyn(Output) | main.rs:1871:5:1871:14 | S1 | -| main.rs:1882:17:1882:18 | S1 | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1885:41:1887:5 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1885:41:1887:5 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | -| main.rs:1886:9:1886:16 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1886:9:1886:16 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | -| main.rs:1895:13:1895:42 | SelfParam | | {EXTERNAL LOCATION} | Pin | -| main.rs:1895:13:1895:42 | SelfParam | Ptr | {EXTERNAL LOCATION} | &mut | -| main.rs:1895:13:1895:42 | SelfParam | Ptr.TRefMut | main.rs:1889:5:1889:14 | S2 | -| main.rs:1896:13:1896:15 | _cx | | {EXTERNAL LOCATION} | &mut | -| main.rs:1896:13:1896:15 | _cx | TRefMut | {EXTERNAL LOCATION} | Context | -| main.rs:1897:44:1899:9 | { ... } | | {EXTERNAL LOCATION} | Poll | -| main.rs:1897:44:1899:9 | { ... } | T | main.rs:1871:5:1871:14 | S1 | -| main.rs:1898:13:1898:38 | ...::Ready(...) | | {EXTERNAL LOCATION} | Poll | -| main.rs:1898:13:1898:38 | ...::Ready(...) | T | main.rs:1871:5:1871:14 | S1 | -| main.rs:1898:36:1898:37 | S1 | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1902:41:1904:5 | { ... } | | main.rs:1889:5:1889:14 | S2 | -| main.rs:1903:9:1903:10 | S2 | | main.rs:1889:5:1889:14 | S2 | -| main.rs:1906:22:1914:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1907:9:1907:12 | f1(...) | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1907:9:1907:12 | f1(...) | dyn(Output) | main.rs:1871:5:1871:14 | S1 | -| main.rs:1907:9:1907:18 | await ... | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1907:9:1907:22 | ... .f() | | {EXTERNAL LOCATION} | () | -| main.rs:1908:9:1908:12 | f2(...) | | main.rs:1881:16:1881:39 | impl ... | -| main.rs:1908:9:1908:18 | await ... | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1908:9:1908:22 | ... .f() | | {EXTERNAL LOCATION} | () | -| main.rs:1909:9:1909:12 | f3(...) | | main.rs:1885:16:1885:39 | impl ... | -| main.rs:1909:9:1909:18 | await ... | | {EXTERNAL LOCATION} | () | -| main.rs:1910:9:1910:12 | f4(...) | | main.rs:1902:16:1902:39 | impl ... | -| main.rs:1910:9:1910:18 | await ... | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1910:9:1910:22 | ... .f() | | {EXTERNAL LOCATION} | () | -| main.rs:1911:9:1911:10 | S2 | | main.rs:1889:5:1889:14 | S2 | -| main.rs:1911:9:1911:16 | await S2 | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1911:9:1911:20 | ... .f() | | {EXTERNAL LOCATION} | () | -| main.rs:1912:13:1912:13 | b | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1912:13:1912:13 | b | dyn(Output) | main.rs:1871:5:1871:14 | S1 | -| main.rs:1912:17:1912:28 | { ... } | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1912:17:1912:28 | { ... } | dyn(Output) | main.rs:1871:5:1871:14 | S1 | -| main.rs:1912:25:1912:26 | S1 | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1913:9:1913:9 | b | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1913:9:1913:9 | b | dyn(Output) | main.rs:1871:5:1871:14 | S1 | -| main.rs:1913:9:1913:15 | await b | | main.rs:1871:5:1871:14 | S1 | -| main.rs:1913:9:1913:19 | ... .f() | | {EXTERNAL LOCATION} | () | -| main.rs:1924:15:1924:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1924:15:1924:19 | SelfParam | TRef | main.rs:1923:5:1925:5 | Self [trait Trait1] | -| main.rs:1924:22:1924:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1928:15:1928:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1928:15:1928:19 | SelfParam | TRef | main.rs:1927:5:1929:5 | Self [trait Trait2] | -| main.rs:1928:22:1928:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1932:15:1932:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1932:15:1932:19 | SelfParam | TRef | main.rs:1918:5:1919:14 | S1 | -| main.rs:1932:22:1932:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1936:15:1936:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1936:15:1936:19 | SelfParam | TRef | main.rs:1918:5:1919:14 | S1 | -| main.rs:1936:22:1936:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1939:37:1941:5 | { ... } | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1940:9:1940:10 | S1 | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1944:18:1944:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1944:18:1944:22 | SelfParam | TRef | main.rs:1943:5:1945:5 | Self [trait MyTrait] | -| main.rs:1948:18:1948:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1948:18:1948:22 | SelfParam | TRef | main.rs:1918:5:1919:14 | S1 | -| main.rs:1948:31:1950:9 | { ... } | | main.rs:1920:5:1920:14 | S2 | -| main.rs:1949:13:1949:14 | S2 | | main.rs:1920:5:1920:14 | S2 | -| main.rs:1954:18:1954:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:1954:18:1954:22 | SelfParam | TRef | main.rs:1921:5:1921:22 | S3 | -| main.rs:1954:18:1954:22 | SelfParam | TRef.T3 | main.rs:1953:10:1953:17 | T | -| main.rs:1954:30:1957:9 | { ... } | | main.rs:1953:10:1953:17 | T | -| main.rs:1955:17:1955:21 | S3(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1955:17:1955:21 | S3(...) | | main.rs:1921:5:1921:22 | S3 | -| main.rs:1955:17:1955:21 | S3(...) | TRef | main.rs:1921:5:1921:22 | S3 | -| main.rs:1955:17:1955:21 | S3(...) | TRef.T3 | main.rs:1953:10:1953:17 | T | -| main.rs:1955:25:1955:28 | self | | {EXTERNAL LOCATION} | & | -| main.rs:1955:25:1955:28 | self | TRef | main.rs:1921:5:1921:22 | S3 | -| main.rs:1955:25:1955:28 | self | TRef.T3 | main.rs:1953:10:1953:17 | T | -| main.rs:1956:13:1956:21 | t.clone() | | main.rs:1953:10:1953:17 | T | -| main.rs:1960:45:1962:5 | { ... } | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1961:9:1961:10 | S1 | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1964:41:1964:41 | t | | main.rs:1964:26:1964:38 | B | -| main.rs:1964:52:1966:5 | { ... } | | main.rs:1964:23:1964:23 | A | -| main.rs:1965:9:1965:9 | t | | main.rs:1964:26:1964:38 | B | -| main.rs:1965:9:1965:17 | t.get_a() | | main.rs:1964:23:1964:23 | A | -| main.rs:1968:34:1968:34 | x | | main.rs:1968:24:1968:31 | T | -| main.rs:1968:59:1970:5 | { ... } | | main.rs:1968:43:1968:57 | impl ... | -| main.rs:1968:59:1970:5 | { ... } | impl(T) | main.rs:1968:24:1968:31 | T | -| main.rs:1969:9:1969:13 | S3(...) | | main.rs:1921:5:1921:22 | S3 | -| main.rs:1969:9:1969:13 | S3(...) | | main.rs:1968:43:1968:57 | impl ... | -| main.rs:1969:9:1969:13 | S3(...) | T3 | main.rs:1968:24:1968:31 | T | -| main.rs:1969:9:1969:13 | S3(...) | impl(T) | main.rs:1968:24:1968:31 | T | -| main.rs:1969:12:1969:12 | x | | main.rs:1968:24:1968:31 | T | -| main.rs:1972:34:1972:34 | x | | main.rs:1972:24:1972:31 | T | -| main.rs:1972:67:1974:5 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:1972:67:1974:5 | { ... } | T | main.rs:1972:50:1972:64 | impl ... | -| main.rs:1972:67:1974:5 | { ... } | T.impl(T) | main.rs:1972:24:1972:31 | T | -| main.rs:1973:9:1973:19 | Some(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:1973:9:1973:19 | Some(...) | T | main.rs:1921:5:1921:22 | S3 | -| main.rs:1973:9:1973:19 | Some(...) | T | main.rs:1972:50:1972:64 | impl ... | -| main.rs:1973:9:1973:19 | Some(...) | T.T3 | main.rs:1972:24:1972:31 | T | -| main.rs:1973:9:1973:19 | Some(...) | T.impl(T) | main.rs:1972:24:1972:31 | T | -| main.rs:1973:14:1973:18 | S3(...) | | main.rs:1921:5:1921:22 | S3 | -| main.rs:1973:14:1973:18 | S3(...) | T3 | main.rs:1972:24:1972:31 | T | -| main.rs:1973:17:1973:17 | x | | main.rs:1972:24:1972:31 | T | -| main.rs:1976:34:1976:34 | x | | main.rs:1976:24:1976:31 | T | -| main.rs:1976:78:1978:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1976:78:1978:5 | { ... } | T0 | main.rs:1976:44:1976:58 | impl ... | -| main.rs:1976:78:1978:5 | { ... } | T0.impl(T) | main.rs:1976:24:1976:31 | T | -| main.rs:1976:78:1978:5 | { ... } | T1 | main.rs:1976:61:1976:75 | impl ... | -| main.rs:1976:78:1978:5 | { ... } | T1.impl(T) | main.rs:1976:24:1976:31 | T | -| main.rs:1977:9:1977:30 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1977:9:1977:30 | TupleExpr | T0 | main.rs:1921:5:1921:22 | S3 | -| main.rs:1977:9:1977:30 | TupleExpr | T0 | main.rs:1976:44:1976:58 | impl ... | -| main.rs:1977:9:1977:30 | TupleExpr | T0.T3 | main.rs:1976:24:1976:31 | T | -| main.rs:1977:9:1977:30 | TupleExpr | T0.impl(T) | main.rs:1976:24:1976:31 | T | -| main.rs:1977:9:1977:30 | TupleExpr | T1 | main.rs:1921:5:1921:22 | S3 | -| main.rs:1977:9:1977:30 | TupleExpr | T1 | main.rs:1976:61:1976:75 | impl ... | -| main.rs:1977:9:1977:30 | TupleExpr | T1.T3 | main.rs:1976:24:1976:31 | T | -| main.rs:1977:9:1977:30 | TupleExpr | T1.impl(T) | main.rs:1976:24:1976:31 | T | -| main.rs:1977:10:1977:22 | S3(...) | | main.rs:1921:5:1921:22 | S3 | -| main.rs:1977:10:1977:22 | S3(...) | | main.rs:1976:44:1976:58 | impl ... | -| main.rs:1977:10:1977:22 | S3(...) | T3 | main.rs:1976:24:1976:31 | T | -| main.rs:1977:10:1977:22 | S3(...) | impl(T) | main.rs:1976:24:1976:31 | T | -| main.rs:1977:13:1977:13 | x | | main.rs:1976:24:1976:31 | T | -| main.rs:1977:13:1977:21 | x.clone() | | main.rs:1976:24:1976:31 | T | -| main.rs:1977:25:1977:29 | S3(...) | | main.rs:1921:5:1921:22 | S3 | -| main.rs:1977:25:1977:29 | S3(...) | | main.rs:1976:61:1976:75 | impl ... | -| main.rs:1977:25:1977:29 | S3(...) | T3 | main.rs:1976:24:1976:31 | T | -| main.rs:1977:25:1977:29 | S3(...) | impl(T) | main.rs:1976:24:1976:31 | T | -| main.rs:1977:28:1977:28 | x | | main.rs:1976:24:1976:31 | T | -| main.rs:1980:26:1980:26 | t | | main.rs:1980:29:1980:43 | impl ... | -| main.rs:1980:51:1982:5 | { ... } | | main.rs:1980:23:1980:23 | A | -| main.rs:1981:9:1981:9 | t | | main.rs:1980:29:1980:43 | impl ... | -| main.rs:1981:9:1981:17 | t.get_a() | | main.rs:1980:23:1980:23 | A | -| main.rs:1984:16:1998:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1985:13:1985:13 | x | | main.rs:1939:16:1939:35 | impl ... + ... | -| main.rs:1985:17:1985:20 | f1(...) | | main.rs:1939:16:1939:35 | impl ... + ... | -| main.rs:1986:9:1986:9 | x | | main.rs:1939:16:1939:35 | impl ... + ... | -| main.rs:1986:9:1986:14 | x.f1() | | {EXTERNAL LOCATION} | () | -| main.rs:1987:9:1987:9 | x | | main.rs:1939:16:1939:35 | impl ... + ... | -| main.rs:1987:9:1987:14 | x.f2() | | {EXTERNAL LOCATION} | () | -| main.rs:1988:13:1988:13 | a | | main.rs:1960:28:1960:43 | impl ... | -| main.rs:1988:17:1988:32 | get_a_my_trait(...) | | main.rs:1960:28:1960:43 | impl ... | -| main.rs:1989:13:1989:13 | b | | main.rs:1920:5:1920:14 | S2 | -| main.rs:1989:17:1989:33 | uses_my_trait1(...) | | main.rs:1920:5:1920:14 | S2 | -| main.rs:1989:32:1989:32 | a | | main.rs:1960:28:1960:43 | impl ... | -| main.rs:1990:13:1990:13 | a | | main.rs:1960:28:1960:43 | impl ... | -| main.rs:1990:17:1990:32 | get_a_my_trait(...) | | main.rs:1960:28:1960:43 | impl ... | -| main.rs:1991:13:1991:13 | c | | main.rs:1920:5:1920:14 | S2 | -| main.rs:1991:17:1991:33 | uses_my_trait2(...) | | main.rs:1920:5:1920:14 | S2 | -| main.rs:1991:32:1991:32 | a | | main.rs:1960:28:1960:43 | impl ... | -| main.rs:1992:13:1992:13 | d | | main.rs:1920:5:1920:14 | S2 | -| main.rs:1992:17:1992:34 | uses_my_trait2(...) | | main.rs:1920:5:1920:14 | S2 | -| main.rs:1992:32:1992:33 | S1 | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1993:13:1993:13 | e | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1993:17:1993:35 | get_a_my_trait2(...) | | main.rs:1968:43:1968:57 | impl ... | -| main.rs:1993:17:1993:35 | get_a_my_trait2(...) | impl(T) | main.rs:1918:5:1919:14 | S1 | -| main.rs:1993:17:1993:43 | ... .get_a() | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1993:33:1993:34 | S1 | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1996:13:1996:13 | f | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1996:17:1996:35 | get_a_my_trait3(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:1996:17:1996:35 | get_a_my_trait3(...) | T | main.rs:1972:50:1972:64 | impl ... | -| main.rs:1996:17:1996:35 | get_a_my_trait3(...) | T.impl(T) | main.rs:1918:5:1919:14 | S1 | -| main.rs:1996:17:1996:44 | ... .unwrap() | | main.rs:1972:50:1972:64 | impl ... | -| main.rs:1996:17:1996:44 | ... .unwrap() | impl(T) | main.rs:1918:5:1919:14 | S1 | -| main.rs:1996:17:1996:52 | ... .get_a() | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1996:33:1996:34 | S1 | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1997:13:1997:13 | g | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1997:17:1997:35 | get_a_my_trait4(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1997:17:1997:35 | get_a_my_trait4(...) | T0 | main.rs:1976:44:1976:58 | impl ... | -| main.rs:1997:17:1997:35 | get_a_my_trait4(...) | T0.impl(T) | main.rs:1918:5:1919:14 | S1 | -| main.rs:1997:17:1997:35 | get_a_my_trait4(...) | T1 | main.rs:1976:61:1976:75 | impl ... | -| main.rs:1997:17:1997:35 | get_a_my_trait4(...) | T1.impl(T) | main.rs:1918:5:1919:14 | S1 | -| main.rs:1997:17:1997:37 | ... .0 | | main.rs:1976:44:1976:58 | impl ... | -| main.rs:1997:17:1997:37 | ... .0 | impl(T) | main.rs:1918:5:1919:14 | S1 | -| main.rs:1997:17:1997:45 | ... .get_a() | | main.rs:1918:5:1919:14 | S1 | -| main.rs:1997:33:1997:34 | S1 | | main.rs:1918:5:1919:14 | S1 | -| main.rs:2008:16:2008:20 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2008:16:2008:20 | SelfParam | TRef | main.rs:2004:5:2005:13 | S | -| main.rs:2008:31:2010:9 | { ... } | | main.rs:2004:5:2005:13 | S | -| main.rs:2009:13:2009:13 | S | | main.rs:2004:5:2005:13 | S | -| main.rs:2019:26:2021:9 | { ... } | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2019:26:2021:9 | { ... } | T | main.rs:2018:10:2018:10 | T | -| main.rs:2020:13:2020:38 | MyVec {...} | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2020:13:2020:38 | MyVec {...} | T | main.rs:2018:10:2018:10 | T | -| main.rs:2020:27:2020:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2020:27:2020:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2020:27:2020:36 | ...::new(...) | T | main.rs:2018:10:2018:10 | T | -| main.rs:2023:17:2023:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | -| main.rs:2023:17:2023:25 | SelfParam | TRefMut | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2023:17:2023:25 | SelfParam | TRefMut.T | main.rs:2018:10:2018:10 | T | -| main.rs:2023:28:2023:32 | value | | main.rs:2018:10:2018:10 | T | -| main.rs:2023:38:2025:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2024:13:2024:16 | self | | {EXTERNAL LOCATION} | &mut | -| main.rs:2024:13:2024:16 | self | TRefMut | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2024:13:2024:16 | self | TRefMut.T | main.rs:2018:10:2018:10 | T | -| main.rs:2024:13:2024:21 | self.data | | {EXTERNAL LOCATION} | Vec | -| main.rs:2024:13:2024:21 | self.data | A | {EXTERNAL LOCATION} | Global | -| main.rs:2024:13:2024:21 | self.data | T | main.rs:2018:10:2018:10 | T | -| main.rs:2024:13:2024:33 | ... .push(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2024:28:2024:32 | value | | main.rs:2018:10:2018:10 | T | -| main.rs:2032:18:2032:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2032:18:2032:22 | SelfParam | TRef | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2032:18:2032:22 | SelfParam | TRef.T | main.rs:2028:10:2028:10 | T | -| main.rs:2032:25:2032:29 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:2032:56:2034:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2032:56:2034:9 | { ... } | TRef | main.rs:2028:10:2028:10 | T | -| main.rs:2033:13:2033:29 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2033:13:2033:29 | &... | TRef | main.rs:2028:10:2028:10 | T | -| main.rs:2033:14:2033:17 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2033:14:2033:17 | self | TRef | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2033:14:2033:17 | self | TRef.T | main.rs:2028:10:2028:10 | T | -| main.rs:2033:14:2033:22 | self.data | | {EXTERNAL LOCATION} | Vec | -| main.rs:2033:14:2033:22 | self.data | A | {EXTERNAL LOCATION} | Global | -| main.rs:2033:14:2033:22 | self.data | T | main.rs:2028:10:2028:10 | T | -| main.rs:2033:14:2033:29 | ...[index] | | main.rs:2028:10:2028:10 | T | -| main.rs:2033:24:2033:28 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:2037:22:2037:26 | slice | | {EXTERNAL LOCATION} | & | -| main.rs:2037:22:2037:26 | slice | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:2037:22:2037:26 | slice | TRef.TSlice | main.rs:2004:5:2005:13 | S | -| main.rs:2037:35:2039:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2038:13:2038:13 | x | | main.rs:2004:5:2005:13 | S | -| main.rs:2038:17:2038:21 | slice | | {EXTERNAL LOCATION} | & | -| main.rs:2038:17:2038:21 | slice | TRef | {EXTERNAL LOCATION} | [] | -| main.rs:2038:17:2038:21 | slice | TRef.TSlice | main.rs:2004:5:2005:13 | S | -| main.rs:2038:17:2038:24 | slice[0] | | main.rs:2004:5:2005:13 | S | -| main.rs:2038:17:2038:30 | ... .foo() | | main.rs:2004:5:2005:13 | S | -| main.rs:2038:23:2038:23 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2041:37:2041:37 | a | | main.rs:2041:20:2041:34 | T | -| main.rs:2041:43:2041:43 | b | | {EXTERNAL LOCATION} | usize | -| main.rs:2044:5:2046:5 | { ... } | | main.rs:2041:20:2041:34 | T::Output[Index] | -| main.rs:2045:9:2045:9 | a | | main.rs:2041:20:2041:34 | T | -| main.rs:2045:9:2045:12 | a[b] | | main.rs:2041:20:2041:34 | T::Output[Index] | -| main.rs:2045:11:2045:11 | b | | {EXTERNAL LOCATION} | usize | -| main.rs:2048:16:2059:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2049:17:2049:19 | vec | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2049:17:2049:19 | vec | T | main.rs:2004:5:2005:13 | S | -| main.rs:2049:23:2049:34 | ...::new(...) | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2049:23:2049:34 | ...::new(...) | T | main.rs:2004:5:2005:13 | S | -| main.rs:2050:9:2050:11 | vec | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2050:9:2050:11 | vec | T | main.rs:2004:5:2005:13 | S | -| main.rs:2050:9:2050:19 | vec.push(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2050:18:2050:18 | S | | main.rs:2004:5:2005:13 | S | -| main.rs:2051:9:2051:11 | vec | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2051:9:2051:11 | vec | T | main.rs:2004:5:2005:13 | S | -| main.rs:2051:9:2051:14 | vec[0] | | main.rs:2004:5:2005:13 | S | -| main.rs:2051:9:2051:20 | ... .foo() | | main.rs:2004:5:2005:13 | S | -| main.rs:2051:13:2051:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2053:13:2053:14 | xs | | {EXTERNAL LOCATION} | [;] | -| main.rs:2053:13:2053:14 | xs | TArray | main.rs:2004:5:2005:13 | S | -| main.rs:2053:21:2053:21 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2053:26:2053:28 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2053:26:2053:28 | [...] | TArray | main.rs:2004:5:2005:13 | S | -| main.rs:2053:27:2053:27 | S | | main.rs:2004:5:2005:13 | S | -| main.rs:2054:13:2054:13 | x | | main.rs:2004:5:2005:13 | S | -| main.rs:2054:17:2054:18 | xs | | {EXTERNAL LOCATION} | [;] | -| main.rs:2054:17:2054:18 | xs | TArray | main.rs:2004:5:2005:13 | S | -| main.rs:2054:17:2054:21 | xs[0] | | main.rs:2004:5:2005:13 | S | -| main.rs:2054:17:2054:27 | ... .foo() | | main.rs:2004:5:2005:13 | S | -| main.rs:2054:20:2054:20 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2056:13:2056:13 | y | | main.rs:2004:5:2005:13 | S | -| main.rs:2056:17:2056:35 | param_index(...) | | main.rs:2004:5:2005:13 | S | -| main.rs:2056:29:2056:31 | vec | | main.rs:2013:5:2016:5 | MyVec | -| main.rs:2056:29:2056:31 | vec | T | main.rs:2004:5:2005:13 | S | -| main.rs:2056:34:2056:34 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2058:9:2058:26 | analyze_slice(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2058:23:2058:25 | &xs | | {EXTERNAL LOCATION} | & | -| main.rs:2058:23:2058:25 | &xs | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:2058:23:2058:25 | &xs | TRef.TArray | main.rs:2004:5:2005:13 | S | -| main.rs:2058:24:2058:25 | xs | | {EXTERNAL LOCATION} | [;] | -| main.rs:2058:24:2058:25 | xs | TArray | main.rs:2004:5:2005:13 | S | -| main.rs:2063:16:2065:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2064:13:2064:13 | x | | {EXTERNAL LOCATION} | String | -| main.rs:2064:17:2064:46 | MacroExpr | | {EXTERNAL LOCATION} | String | -| main.rs:2064:25:2064:35 | "Hello, {}" | | {EXTERNAL LOCATION} | & | -| main.rs:2064:25:2064:35 | "Hello, {}" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2064:25:2064:45 | ...::format(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2064:25:2064:45 | ...::must_use(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2064:25:2064:45 | { ... } | | {EXTERNAL LOCATION} | String | -| main.rs:2064:38:2064:45 | "World!" | | {EXTERNAL LOCATION} | & | -| main.rs:2064:38:2064:45 | "World!" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2073:19:2073:22 | SelfParam | | main.rs:2069:5:2074:5 | Self [trait MyAdd] | -| main.rs:2073:25:2073:27 | rhs | | main.rs:2069:17:2069:26 | Rhs | -| main.rs:2080:19:2080:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2080:25:2080:29 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2080:45:2082:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2081:13:2081:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2089:19:2089:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2089:25:2089:29 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2089:25:2089:29 | value | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2089:46:2091:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2090:13:2090:18 | * ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2090:14:2090:18 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2090:14:2090:18 | value | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2098:19:2098:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | -| main.rs:2098:25:2098:29 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2098:46:2104:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2099:13:2103:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | -| main.rs:2099:13:2103:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | -| main.rs:2099:16:2099:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2099:22:2101:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2099:22:2101:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2100:17:2100:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2100:17:2100:17 | 1 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2101:20:2103:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2101:20:2103:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2102:17:2102:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2102:17:2102:17 | 0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2113:19:2113:22 | SelfParam | | main.rs:2107:5:2107:19 | S | -| main.rs:2113:19:2113:22 | SelfParam | T | main.rs:2109:10:2109:17 | T | -| main.rs:2113:25:2113:29 | other | | main.rs:2107:5:2107:19 | S | -| main.rs:2113:25:2113:29 | other | T | main.rs:2109:10:2109:17 | T | -| main.rs:2113:54:2115:9 | { ... } | | main.rs:2107:5:2107:19 | S | -| main.rs:2113:54:2115:9 | { ... } | T | main.rs:2109:10:2109:17 | T::Output[MyAdd] | -| main.rs:2114:13:2114:39 | S(...) | | main.rs:2107:5:2107:19 | S | -| main.rs:2114:13:2114:39 | S(...) | T | main.rs:2109:10:2109:17 | T::Output[MyAdd] | -| main.rs:2114:15:2114:22 | (...) | | main.rs:2109:10:2109:17 | T | -| main.rs:2114:15:2114:38 | ... .my_add(...) | | main.rs:2109:10:2109:17 | T::Output[MyAdd] | -| main.rs:2114:16:2114:19 | self | | main.rs:2107:5:2107:19 | S | -| main.rs:2114:16:2114:19 | self | T | main.rs:2109:10:2109:17 | T | -| main.rs:2114:16:2114:21 | self.0 | | main.rs:2109:10:2109:17 | T | -| main.rs:2114:31:2114:35 | other | | main.rs:2107:5:2107:19 | S | -| main.rs:2114:31:2114:35 | other | T | main.rs:2109:10:2109:17 | T | -| main.rs:2114:31:2114:37 | other.0 | | main.rs:2109:10:2109:17 | T | -| main.rs:2122:19:2122:22 | SelfParam | | main.rs:2107:5:2107:19 | S | -| main.rs:2122:19:2122:22 | SelfParam | T | main.rs:2118:10:2118:17 | T | -| main.rs:2122:25:2122:29 | other | | main.rs:2118:10:2118:17 | T | -| main.rs:2122:51:2124:9 | { ... } | | main.rs:2107:5:2107:19 | S | -| main.rs:2122:51:2124:9 | { ... } | T | main.rs:2118:10:2118:17 | T::Output[MyAdd] | -| main.rs:2123:13:2123:37 | S(...) | | main.rs:2107:5:2107:19 | S | -| main.rs:2123:13:2123:37 | S(...) | T | main.rs:2118:10:2118:17 | T::Output[MyAdd] | -| main.rs:2123:15:2123:22 | (...) | | main.rs:2118:10:2118:17 | T | -| main.rs:2123:15:2123:36 | ... .my_add(...) | | main.rs:2118:10:2118:17 | T::Output[MyAdd] | -| main.rs:2123:16:2123:19 | self | | main.rs:2107:5:2107:19 | S | -| main.rs:2123:16:2123:19 | self | T | main.rs:2118:10:2118:17 | T | -| main.rs:2123:16:2123:21 | self.0 | | main.rs:2118:10:2118:17 | T | -| main.rs:2123:31:2123:35 | other | | main.rs:2118:10:2118:17 | T | -| main.rs:2134:19:2134:22 | SelfParam | | main.rs:2107:5:2107:19 | S | -| main.rs:2134:19:2134:22 | SelfParam | T | main.rs:2127:14:2127:14 | T | -| main.rs:2134:25:2134:29 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2134:25:2134:29 | other | TRef | main.rs:2127:14:2127:14 | T | -| main.rs:2134:55:2136:9 | { ... } | | main.rs:2107:5:2107:19 | S | -| main.rs:2134:55:2136:9 | { ... } | T | main.rs:2127:14:2127:14 | T::Output[MyAdd] | -| main.rs:2135:13:2135:37 | S(...) | | main.rs:2107:5:2107:19 | S | -| main.rs:2135:13:2135:37 | S(...) | T | main.rs:2127:14:2127:14 | T::Output[MyAdd] | -| main.rs:2135:15:2135:22 | (...) | | main.rs:2127:14:2127:14 | T | -| main.rs:2135:15:2135:36 | ... .my_add(...) | | main.rs:2127:14:2127:14 | T::Output[MyAdd] | -| main.rs:2135:16:2135:19 | self | | main.rs:2107:5:2107:19 | S | -| main.rs:2135:16:2135:19 | self | T | main.rs:2127:14:2127:14 | T | -| main.rs:2135:16:2135:21 | self.0 | | main.rs:2127:14:2127:14 | T | -| main.rs:2135:31:2135:35 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2135:31:2135:35 | other | TRef | main.rs:2127:14:2127:14 | T | -| main.rs:2141:20:2141:24 | value | | main.rs:2139:18:2139:18 | T | -| main.rs:2146:20:2146:24 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2146:40:2148:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2147:13:2147:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2153:20:2153:24 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2153:41:2159:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2154:13:2158:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | -| main.rs:2154:13:2158:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | -| main.rs:2154:16:2154:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2154:22:2156:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2154:22:2156:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2155:17:2155:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2155:17:2155:17 | 1 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2156:20:2158:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2156:20:2158:13 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2157:17:2157:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2157:17:2157:17 | 0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2164:21:2164:25 | value | | main.rs:2162:19:2162:19 | T | -| main.rs:2164:31:2164:31 | x | | main.rs:2162:5:2165:5 | Self [trait MyFrom2] | -| main.rs:2169:21:2169:25 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2169:33:2169:33 | _ | | {EXTERNAL LOCATION} | i64 | -| main.rs:2169:48:2171:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2170:13:2170:17 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2176:21:2176:25 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2176:34:2176:34 | _ | | {EXTERNAL LOCATION} | i64 | -| main.rs:2176:49:2182:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2177:13:2181:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | -| main.rs:2177:16:2177:20 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2177:22:2179:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2178:17:2178:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2179:20:2181:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2180:17:2180:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2187:15:2187:15 | x | | main.rs:2185:5:2191:5 | Self [trait MySelfTrait] | -| main.rs:2190:15:2190:15 | x | | main.rs:2185:5:2191:5 | Self [trait MySelfTrait] | -| main.rs:2195:15:2195:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2195:31:2197:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2196:13:2196:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2196:13:2196:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2196:17:2196:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2200:15:2200:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2200:32:2202:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2201:13:2201:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2201:13:2201:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | -| main.rs:2201:17:2201:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2207:15:2207:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2207:31:2209:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2208:13:2208:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2208:13:2208:13 | 0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2212:15:2212:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2212:32:2214:9 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2213:13:2213:13 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2217:16:2242:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1680:16:1680:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1680:22:1680:24 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1680:40:1685:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1681:13:1684:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1682:20:1682:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1682:20:1682:25 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1682:20:1682:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1682:30:1682:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1683:20:1683:23 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1683:20:1683:25 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1683:20:1683:32 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1683:30:1683:32 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1689:23:1689:31 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:1689:23:1689:31 | SelfParam | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1689:34:1689:36 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1689:44:1692:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1690:13:1690:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1690:13:1690:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1690:13:1690:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1690:13:1690:26 | ... >>= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1690:24:1690:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1691:13:1691:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:1691:13:1691:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1691:13:1691:18 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1691:13:1691:26 | ... >>= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1691:24:1691:26 | rhs | | {EXTERNAL LOCATION} | u32 | +| main.rs:1697:16:1697:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1697:30:1702:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1698:13:1701:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1699:20:1699:26 | - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1699:21:1699:24 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1699:21:1699:26 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1700:20:1700:26 | - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1700:21:1700:24 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1700:21:1700:26 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1707:16:1707:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1707:30:1712:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1708:13:1711:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1709:20:1709:26 | ! ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1709:21:1709:24 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1709:21:1709:26 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1710:20:1710:26 | ! ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1710:21:1710:24 | self | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1710:21:1710:26 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1716:15:1716:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1716:15:1716:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1716:22:1716:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1716:22:1716:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1716:44:1718:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1717:13:1717:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1717:13:1717:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1717:13:1717:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1717:13:1717:29 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1717:13:1717:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1717:23:1717:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1717:23:1717:27 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1717:23:1717:29 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1717:34:1717:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1717:34:1717:37 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1717:34:1717:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1717:34:1717:50 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1717:44:1717:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1717:44:1717:48 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1717:44:1717:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1720:15:1720:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1720:15:1720:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1720:22:1720:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1720:22:1720:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1720:44:1722:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1721:13:1721:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1721:13:1721:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1721:13:1721:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1721:13:1721:29 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1721:13:1721:50 | ... \|\| ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1721:23:1721:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1721:23:1721:27 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1721:23:1721:29 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1721:34:1721:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1721:34:1721:37 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1721:34:1721:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1721:34:1721:50 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1721:44:1721:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1721:44:1721:48 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1721:44:1721:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1726:24:1726:28 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1726:24:1726:28 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1726:31:1726:35 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1726:31:1726:35 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1726:75:1728:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:1726:75:1728:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | +| main.rs:1727:13:1727:29 | (...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:1727:13:1727:63 | ... .partial_cmp(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:1727:13:1727:63 | ... .partial_cmp(...) | T | {EXTERNAL LOCATION} | Ordering | +| main.rs:1727:14:1727:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1727:14:1727:17 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1727:14:1727:19 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1727:14:1727:28 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1727:23:1727:26 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1727:23:1727:26 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1727:23:1727:28 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1727:43:1727:62 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:1727:43:1727:62 | &... | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:1727:44:1727:62 | (...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:1727:45:1727:49 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1727:45:1727:49 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1727:45:1727:51 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1727:45:1727:61 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1727:55:1727:59 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1727:55:1727:59 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1727:55:1727:61 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1730:15:1730:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1730:15:1730:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1730:22:1730:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1730:22:1730:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1730:44:1732:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1731:13:1731:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1731:13:1731:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1731:13:1731:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1731:13:1731:28 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1731:13:1731:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1731:22:1731:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1731:22:1731:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1731:22:1731:28 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1731:33:1731:36 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1731:33:1731:36 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1731:33:1731:38 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1731:33:1731:48 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1731:42:1731:46 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1731:42:1731:46 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1731:42:1731:48 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1734:15:1734:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1734:15:1734:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1734:22:1734:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1734:22:1734:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1734:44:1736:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1735:13:1735:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1735:13:1735:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1735:13:1735:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1735:13:1735:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1735:13:1735:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1735:23:1735:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1735:23:1735:27 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1735:23:1735:29 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1735:34:1735:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1735:34:1735:37 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1735:34:1735:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1735:34:1735:50 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1735:44:1735:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1735:44:1735:48 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1735:44:1735:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1738:15:1738:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1738:15:1738:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1738:22:1738:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1738:22:1738:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1738:44:1740:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1739:13:1739:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1739:13:1739:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1739:13:1739:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1739:13:1739:28 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1739:13:1739:48 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1739:22:1739:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1739:22:1739:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1739:22:1739:28 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1739:33:1739:36 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1739:33:1739:36 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1739:33:1739:38 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1739:33:1739:48 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1739:42:1739:46 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1739:42:1739:46 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1739:42:1739:48 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1742:15:1742:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1742:15:1742:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1742:22:1742:26 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1742:22:1742:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1742:44:1744:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:1743:13:1743:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1743:13:1743:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1743:13:1743:18 | self.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1743:13:1743:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1743:13:1743:50 | ... && ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1743:23:1743:27 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1743:23:1743:27 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1743:23:1743:29 | other.x | | {EXTERNAL LOCATION} | i64 | +| main.rs:1743:34:1743:37 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1743:34:1743:37 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1743:34:1743:39 | self.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1743:34:1743:50 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1743:44:1743:48 | other | | {EXTERNAL LOCATION} | & | +| main.rs:1743:44:1743:48 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1743:44:1743:50 | other.y | | {EXTERNAL LOCATION} | i64 | +| main.rs:1747:26:1747:26 | a | | main.rs:1747:18:1747:23 | T | +| main.rs:1747:32:1747:32 | b | | main.rs:1747:18:1747:23 | T | +| main.rs:1747:51:1749:5 | { ... } | | main.rs:1747:18:1747:23 | T::Output[Add] | +| main.rs:1748:9:1748:9 | a | | main.rs:1747:18:1747:23 | T | +| main.rs:1748:9:1748:13 | ... + ... | | main.rs:1747:18:1747:23 | T::Output[Add] | +| main.rs:1748:13:1748:13 | b | | main.rs:1747:18:1747:23 | T | +| main.rs:1751:16:1882:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1755:13:1755:18 | i64_eq | | {EXTERNAL LOCATION} | bool | +| main.rs:1755:22:1755:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1755:23:1755:26 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1755:23:1755:34 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1755:31:1755:34 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1756:13:1756:18 | i64_ne | | {EXTERNAL LOCATION} | bool | +| main.rs:1756:22:1756:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1756:23:1756:26 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1756:23:1756:34 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1756:31:1756:34 | 4i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1757:13:1757:18 | i64_lt | | {EXTERNAL LOCATION} | bool | +| main.rs:1757:22:1757:34 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1757:23:1757:26 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1757:23:1757:33 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1757:30:1757:33 | 6i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1758:13:1758:18 | i64_le | | {EXTERNAL LOCATION} | bool | +| main.rs:1758:22:1758:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1758:23:1758:26 | 7i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1758:23:1758:34 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1758:31:1758:34 | 8i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1759:13:1759:18 | i64_gt | | {EXTERNAL LOCATION} | bool | +| main.rs:1759:22:1759:35 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1759:23:1759:26 | 9i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1759:23:1759:34 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1759:30:1759:34 | 10i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1760:13:1760:18 | i64_ge | | {EXTERNAL LOCATION} | bool | +| main.rs:1760:22:1760:37 | (...) | | {EXTERNAL LOCATION} | bool | +| main.rs:1760:23:1760:27 | 11i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1760:23:1760:36 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1760:32:1760:36 | 12i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1763:13:1763:19 | i64_add | | {EXTERNAL LOCATION} | i64 | +| main.rs:1763:23:1763:27 | 13i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1763:23:1763:35 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1763:31:1763:35 | 14i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1764:13:1764:19 | i64_sub | | {EXTERNAL LOCATION} | i64 | +| main.rs:1764:23:1764:27 | 15i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1764:23:1764:35 | ... - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1764:31:1764:35 | 16i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1765:13:1765:19 | i64_mul | | {EXTERNAL LOCATION} | i64 | +| main.rs:1765:23:1765:27 | 17i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1765:23:1765:35 | ... * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1765:31:1765:35 | 18i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1766:13:1766:19 | i64_div | | {EXTERNAL LOCATION} | i64 | +| main.rs:1766:23:1766:27 | 19i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1766:23:1766:35 | ... / ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1766:31:1766:35 | 20i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1767:13:1767:19 | i64_rem | | {EXTERNAL LOCATION} | i64 | +| main.rs:1767:23:1767:27 | 21i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1767:23:1767:35 | ... % ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1767:31:1767:35 | 22i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1768:13:1768:25 | i64_param_add | | {EXTERNAL LOCATION} | i64 | +| main.rs:1768:29:1768:49 | param_add(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:1768:39:1768:42 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1768:45:1768:48 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1771:17:1771:30 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1771:34:1771:38 | 23i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1772:9:1772:22 | i64_add_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1772:9:1772:31 | ... += ... | | {EXTERNAL LOCATION} | () | +| main.rs:1772:27:1772:31 | 24i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1774:17:1774:30 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1774:34:1774:38 | 25i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1775:9:1775:22 | i64_sub_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1775:9:1775:31 | ... -= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1775:27:1775:31 | 26i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1777:17:1777:30 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1777:34:1777:38 | 27i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1778:9:1778:22 | i64_mul_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1778:9:1778:31 | ... *= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1778:27:1778:31 | 28i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1780:17:1780:30 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1780:34:1780:38 | 29i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1781:9:1781:22 | i64_div_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1781:9:1781:31 | ... /= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1781:27:1781:31 | 30i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1783:17:1783:30 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1783:34:1783:38 | 31i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1784:9:1784:22 | i64_rem_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1784:9:1784:31 | ... %= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1784:27:1784:31 | 32i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1787:13:1787:22 | i64_bitand | | {EXTERNAL LOCATION} | i64 | +| main.rs:1787:26:1787:30 | 33i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1787:26:1787:38 | ... & ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1787:34:1787:38 | 34i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1788:13:1788:21 | i64_bitor | | {EXTERNAL LOCATION} | i64 | +| main.rs:1788:25:1788:29 | 35i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1788:25:1788:37 | ... \| ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1788:33:1788:37 | 36i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1789:13:1789:22 | i64_bitxor | | {EXTERNAL LOCATION} | i64 | +| main.rs:1789:26:1789:30 | 37i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1789:26:1789:38 | ... ^ ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1789:34:1789:38 | 38i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1790:13:1790:19 | i64_shl | | {EXTERNAL LOCATION} | i64 | +| main.rs:1790:23:1790:27 | 39i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1790:23:1790:36 | ... << ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1790:32:1790:36 | 40i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1791:13:1791:19 | i64_shr | | {EXTERNAL LOCATION} | i64 | +| main.rs:1791:23:1791:27 | 41i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1791:23:1791:36 | ... >> ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1791:32:1791:36 | 42i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1794:17:1794:33 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1794:37:1794:41 | 43i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1795:9:1795:25 | i64_bitand_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1795:9:1795:34 | ... &= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1795:30:1795:34 | 44i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1797:17:1797:32 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1797:36:1797:40 | 45i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1798:9:1798:24 | i64_bitor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1798:9:1798:33 | ... \|= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1798:29:1798:33 | 46i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1800:17:1800:33 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1800:37:1800:41 | 47i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1801:9:1801:25 | i64_bitxor_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1801:9:1801:34 | ... ^= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1801:30:1801:34 | 48i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1803:17:1803:30 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1803:34:1803:38 | 49i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1804:9:1804:22 | i64_shl_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1804:9:1804:32 | ... <<= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1804:28:1804:32 | 50i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1806:17:1806:30 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1806:34:1806:38 | 51i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1807:9:1807:22 | i64_shr_assign | | {EXTERNAL LOCATION} | i64 | +| main.rs:1807:9:1807:32 | ... >>= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1807:28:1807:32 | 52i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1809:13:1809:19 | i64_neg | | {EXTERNAL LOCATION} | i64 | +| main.rs:1809:23:1809:28 | - ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1809:24:1809:28 | 53i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1810:13:1810:19 | i64_not | | {EXTERNAL LOCATION} | i64 | +| main.rs:1810:23:1810:28 | ! ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:1810:24:1810:28 | 54i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:1813:13:1813:14 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1813:18:1813:36 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1813:28:1813:28 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1813:34:1813:34 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1814:13:1814:14 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1814:18:1814:36 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1814:28:1814:28 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1814:34:1814:34 | 4 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1817:13:1817:19 | vec2_eq | | {EXTERNAL LOCATION} | bool | +| main.rs:1817:23:1817:24 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1817:23:1817:30 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1817:29:1817:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1818:13:1818:19 | vec2_ne | | {EXTERNAL LOCATION} | bool | +| main.rs:1818:23:1818:24 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1818:23:1818:30 | ... != ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1818:29:1818:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1819:13:1819:19 | vec2_lt | | {EXTERNAL LOCATION} | bool | +| main.rs:1819:23:1819:24 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1819:23:1819:29 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1819:28:1819:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1820:13:1820:19 | vec2_le | | {EXTERNAL LOCATION} | bool | +| main.rs:1820:23:1820:24 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1820:23:1820:30 | ... <= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1820:29:1820:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1821:13:1821:19 | vec2_gt | | {EXTERNAL LOCATION} | bool | +| main.rs:1821:23:1821:24 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1821:23:1821:29 | ... > ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1821:28:1821:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1822:13:1822:19 | vec2_ge | | {EXTERNAL LOCATION} | bool | +| main.rs:1822:23:1822:24 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1822:23:1822:30 | ... >= ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1822:29:1822:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1825:13:1825:20 | vec2_add | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1825:24:1825:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1825:24:1825:30 | ... + ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1825:29:1825:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1826:13:1826:20 | vec2_sub | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1826:24:1826:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1826:24:1826:30 | ... - ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1826:29:1826:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1827:13:1827:20 | vec2_mul | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1827:24:1827:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1827:24:1827:30 | ... * ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1827:29:1827:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1828:13:1828:20 | vec2_div | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1828:24:1828:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1828:24:1828:30 | ... / ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1828:29:1828:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1829:13:1829:20 | vec2_rem | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1829:24:1829:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1829:24:1829:30 | ... % ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1829:29:1829:30 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1832:17:1832:31 | vec2_add_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1832:35:1832:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1833:9:1833:23 | vec2_add_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1833:9:1833:29 | ... += ... | | {EXTERNAL LOCATION} | () | +| main.rs:1833:28:1833:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1835:17:1835:31 | vec2_sub_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1835:35:1835:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1836:9:1836:23 | vec2_sub_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1836:9:1836:29 | ... -= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1836:28:1836:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1838:17:1838:31 | vec2_mul_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1838:35:1838:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1839:9:1839:23 | vec2_mul_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1839:9:1839:29 | ... *= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1839:28:1839:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1841:17:1841:31 | vec2_div_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1841:35:1841:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1842:9:1842:23 | vec2_div_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1842:9:1842:29 | ... /= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1842:28:1842:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1844:17:1844:31 | vec2_rem_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1844:35:1844:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1845:9:1845:23 | vec2_rem_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1845:9:1845:29 | ... %= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1845:28:1845:29 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1848:13:1848:23 | vec2_bitand | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1848:27:1848:28 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1848:27:1848:33 | ... & ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1848:32:1848:33 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1849:13:1849:22 | vec2_bitor | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1849:26:1849:27 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1849:26:1849:32 | ... \| ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1849:31:1849:32 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1850:13:1850:23 | vec2_bitxor | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1850:27:1850:28 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1850:27:1850:33 | ... ^ ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1850:32:1850:33 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1851:13:1851:20 | vec2_shl | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1851:24:1851:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1851:24:1851:33 | ... << ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1851:30:1851:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1852:13:1852:20 | vec2_shr | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1852:24:1852:25 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1852:24:1852:33 | ... >> ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1852:30:1852:33 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1855:17:1855:34 | vec2_bitand_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1855:38:1855:39 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1856:9:1856:26 | vec2_bitand_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1856:9:1856:32 | ... &= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1856:31:1856:32 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1858:17:1858:33 | vec2_bitor_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1858:37:1858:38 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1859:9:1859:25 | vec2_bitor_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1859:9:1859:31 | ... \|= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1859:30:1859:31 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1861:17:1861:34 | vec2_bitxor_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1861:38:1861:39 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1862:9:1862:26 | vec2_bitxor_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1862:9:1862:32 | ... ^= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1862:31:1862:32 | v2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1864:17:1864:31 | vec2_shl_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1864:35:1864:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1865:9:1865:23 | vec2_shl_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1865:9:1865:32 | ... <<= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1865:29:1865:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1867:17:1867:31 | vec2_shr_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1867:35:1867:36 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1868:9:1868:23 | vec2_shr_assign | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1868:9:1868:32 | ... >>= ... | | {EXTERNAL LOCATION} | () | +| main.rs:1868:29:1868:32 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:1871:13:1871:20 | vec2_neg | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1871:24:1871:26 | - ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1871:25:1871:26 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1872:13:1872:20 | vec2_not | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1872:24:1872:26 | ! ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1872:25:1872:26 | v1 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1875:13:1875:24 | default_vec2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1875:28:1875:45 | ...::default(...) | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1876:13:1876:26 | vec2_zero_plus | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1876:30:1876:48 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1876:30:1876:63 | ... + ... | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1876:40:1876:40 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1876:46:1876:46 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1876:52:1876:63 | default_vec2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1880:13:1880:24 | default_vec2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1880:28:1880:45 | ...::default(...) | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1881:13:1881:26 | vec2_zero_plus | | {EXTERNAL LOCATION} | bool | +| main.rs:1881:30:1881:48 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1881:30:1881:64 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:1881:40:1881:40 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1881:46:1881:46 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:1881:53:1881:64 | default_vec2 | | main.rs:1510:5:1515:5 | Vec2 | +| main.rs:1891:18:1891:21 | SelfParam | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1891:24:1891:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1894:25:1896:5 | { ... } | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1895:9:1895:10 | S1 | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1898:41:1900:5 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1898:41:1900:5 | { ... } | dyn(Output) | main.rs:1888:5:1888:14 | S1 | +| main.rs:1899:9:1899:20 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1899:9:1899:20 | { ... } | dyn(Output) | main.rs:1888:5:1888:14 | S1 | +| main.rs:1899:17:1899:18 | S1 | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1902:41:1904:5 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1902:41:1904:5 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | +| main.rs:1903:9:1903:16 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1903:9:1903:16 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | +| main.rs:1912:13:1912:42 | SelfParam | | {EXTERNAL LOCATION} | Pin | +| main.rs:1912:13:1912:42 | SelfParam | Ptr | {EXTERNAL LOCATION} | &mut | +| main.rs:1912:13:1912:42 | SelfParam | Ptr.TRefMut | main.rs:1906:5:1906:14 | S2 | +| main.rs:1913:13:1913:15 | _cx | | {EXTERNAL LOCATION} | &mut | +| main.rs:1913:13:1913:15 | _cx | TRefMut | {EXTERNAL LOCATION} | Context | +| main.rs:1914:44:1916:9 | { ... } | | {EXTERNAL LOCATION} | Poll | +| main.rs:1914:44:1916:9 | { ... } | T | main.rs:1888:5:1888:14 | S1 | +| main.rs:1915:13:1915:38 | ...::Ready(...) | | {EXTERNAL LOCATION} | Poll | +| main.rs:1915:13:1915:38 | ...::Ready(...) | T | main.rs:1888:5:1888:14 | S1 | +| main.rs:1915:36:1915:37 | S1 | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1919:41:1921:5 | { ... } | | main.rs:1906:5:1906:14 | S2 | +| main.rs:1920:9:1920:10 | S2 | | main.rs:1906:5:1906:14 | S2 | +| main.rs:1923:22:1931:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1924:9:1924:12 | f1(...) | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1924:9:1924:12 | f1(...) | dyn(Output) | main.rs:1888:5:1888:14 | S1 | +| main.rs:1924:9:1924:18 | await ... | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1924:9:1924:22 | ... .f() | | {EXTERNAL LOCATION} | () | +| main.rs:1925:9:1925:12 | f2(...) | | main.rs:1898:16:1898:39 | impl ... | +| main.rs:1925:9:1925:18 | await ... | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1925:9:1925:22 | ... .f() | | {EXTERNAL LOCATION} | () | +| main.rs:1926:9:1926:12 | f3(...) | | main.rs:1902:16:1902:39 | impl ... | +| main.rs:1926:9:1926:18 | await ... | | {EXTERNAL LOCATION} | () | +| main.rs:1927:9:1927:12 | f4(...) | | main.rs:1919:16:1919:39 | impl ... | +| main.rs:1927:9:1927:18 | await ... | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1927:9:1927:22 | ... .f() | | {EXTERNAL LOCATION} | () | +| main.rs:1928:9:1928:10 | S2 | | main.rs:1906:5:1906:14 | S2 | +| main.rs:1928:9:1928:16 | await S2 | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1928:9:1928:20 | ... .f() | | {EXTERNAL LOCATION} | () | +| main.rs:1929:13:1929:13 | b | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1929:13:1929:13 | b | dyn(Output) | main.rs:1888:5:1888:14 | S1 | +| main.rs:1929:17:1929:28 | { ... } | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1929:17:1929:28 | { ... } | dyn(Output) | main.rs:1888:5:1888:14 | S1 | +| main.rs:1929:25:1929:26 | S1 | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1930:9:1930:9 | b | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:1930:9:1930:9 | b | dyn(Output) | main.rs:1888:5:1888:14 | S1 | +| main.rs:1930:9:1930:15 | await b | | main.rs:1888:5:1888:14 | S1 | +| main.rs:1930:9:1930:19 | ... .f() | | {EXTERNAL LOCATION} | () | +| main.rs:1941:15:1941:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1941:15:1941:19 | SelfParam | TRef | main.rs:1940:5:1942:5 | Self [trait Trait1] | +| main.rs:1941:22:1941:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1945:15:1945:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1945:15:1945:19 | SelfParam | TRef | main.rs:1944:5:1946:5 | Self [trait Trait2] | +| main.rs:1945:22:1945:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1949:15:1949:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1949:15:1949:19 | SelfParam | TRef | main.rs:1935:5:1936:14 | S1 | +| main.rs:1949:22:1949:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1953:15:1953:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1953:15:1953:19 | SelfParam | TRef | main.rs:1935:5:1936:14 | S1 | +| main.rs:1953:22:1953:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:1956:37:1958:5 | { ... } | | main.rs:1935:5:1936:14 | S1 | +| main.rs:1957:9:1957:10 | S1 | | main.rs:1935:5:1936:14 | S1 | +| main.rs:1961:18:1961:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1961:18:1961:22 | SelfParam | TRef | main.rs:1960:5:1962:5 | Self [trait MyTrait] | +| main.rs:1965:18:1965:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1965:18:1965:22 | SelfParam | TRef | main.rs:1935:5:1936:14 | S1 | +| main.rs:1965:31:1967:9 | { ... } | | main.rs:1937:5:1937:14 | S2 | +| main.rs:1966:13:1966:14 | S2 | | main.rs:1937:5:1937:14 | S2 | +| main.rs:1971:18:1971:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:1971:18:1971:22 | SelfParam | TRef | main.rs:1938:5:1938:22 | S3 | +| main.rs:1971:18:1971:22 | SelfParam | TRef.T3 | main.rs:1970:10:1970:17 | T | +| main.rs:1971:30:1974:9 | { ... } | | main.rs:1970:10:1970:17 | T | +| main.rs:1972:17:1972:21 | S3(...) | | {EXTERNAL LOCATION} | & | +| main.rs:1972:17:1972:21 | S3(...) | | main.rs:1938:5:1938:22 | S3 | +| main.rs:1972:17:1972:21 | S3(...) | TRef | main.rs:1938:5:1938:22 | S3 | +| main.rs:1972:17:1972:21 | S3(...) | TRef.T3 | main.rs:1970:10:1970:17 | T | +| main.rs:1972:25:1972:28 | self | | {EXTERNAL LOCATION} | & | +| main.rs:1972:25:1972:28 | self | TRef | main.rs:1938:5:1938:22 | S3 | +| main.rs:1972:25:1972:28 | self | TRef.T3 | main.rs:1970:10:1970:17 | T | +| main.rs:1973:13:1973:21 | t.clone() | | main.rs:1970:10:1970:17 | T | +| main.rs:1977:45:1979:5 | { ... } | | main.rs:1935:5:1936:14 | S1 | +| main.rs:1978:9:1978:10 | S1 | | main.rs:1935:5:1936:14 | S1 | +| main.rs:1981:41:1981:41 | t | | main.rs:1981:26:1981:38 | B | +| main.rs:1981:52:1983:5 | { ... } | | main.rs:1981:23:1981:23 | A | +| main.rs:1982:9:1982:9 | t | | main.rs:1981:26:1981:38 | B | +| main.rs:1982:9:1982:17 | t.get_a() | | main.rs:1981:23:1981:23 | A | +| main.rs:1985:34:1985:34 | x | | main.rs:1985:24:1985:31 | T | +| main.rs:1985:59:1987:5 | { ... } | | main.rs:1985:43:1985:57 | impl ... | +| main.rs:1985:59:1987:5 | { ... } | impl(T) | main.rs:1985:24:1985:31 | T | +| main.rs:1986:9:1986:13 | S3(...) | | main.rs:1938:5:1938:22 | S3 | +| main.rs:1986:9:1986:13 | S3(...) | | main.rs:1985:43:1985:57 | impl ... | +| main.rs:1986:9:1986:13 | S3(...) | T3 | main.rs:1985:24:1985:31 | T | +| main.rs:1986:9:1986:13 | S3(...) | impl(T) | main.rs:1985:24:1985:31 | T | +| main.rs:1986:12:1986:12 | x | | main.rs:1985:24:1985:31 | T | +| main.rs:1989:34:1989:34 | x | | main.rs:1989:24:1989:31 | T | +| main.rs:1989:67:1991:5 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:1989:67:1991:5 | { ... } | T | main.rs:1989:50:1989:64 | impl ... | +| main.rs:1989:67:1991:5 | { ... } | T.impl(T) | main.rs:1989:24:1989:31 | T | +| main.rs:1990:9:1990:19 | Some(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:1990:9:1990:19 | Some(...) | T | main.rs:1938:5:1938:22 | S3 | +| main.rs:1990:9:1990:19 | Some(...) | T | main.rs:1989:50:1989:64 | impl ... | +| main.rs:1990:9:1990:19 | Some(...) | T.T3 | main.rs:1989:24:1989:31 | T | +| main.rs:1990:9:1990:19 | Some(...) | T.impl(T) | main.rs:1989:24:1989:31 | T | +| main.rs:1990:14:1990:18 | S3(...) | | main.rs:1938:5:1938:22 | S3 | +| main.rs:1990:14:1990:18 | S3(...) | T3 | main.rs:1989:24:1989:31 | T | +| main.rs:1990:17:1990:17 | x | | main.rs:1989:24:1989:31 | T | +| main.rs:1993:34:1993:34 | x | | main.rs:1993:24:1993:31 | T | +| main.rs:1993:78:1995:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1993:78:1995:5 | { ... } | T0 | main.rs:1993:44:1993:58 | impl ... | +| main.rs:1993:78:1995:5 | { ... } | T0.impl(T) | main.rs:1993:24:1993:31 | T | +| main.rs:1993:78:1995:5 | { ... } | T1 | main.rs:1993:61:1993:75 | impl ... | +| main.rs:1993:78:1995:5 | { ... } | T1.impl(T) | main.rs:1993:24:1993:31 | T | +| main.rs:1994:9:1994:30 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:1994:9:1994:30 | TupleExpr | T0 | main.rs:1938:5:1938:22 | S3 | +| main.rs:1994:9:1994:30 | TupleExpr | T0 | main.rs:1993:44:1993:58 | impl ... | +| main.rs:1994:9:1994:30 | TupleExpr | T0.T3 | main.rs:1993:24:1993:31 | T | +| main.rs:1994:9:1994:30 | TupleExpr | T0.impl(T) | main.rs:1993:24:1993:31 | T | +| main.rs:1994:9:1994:30 | TupleExpr | T1 | main.rs:1938:5:1938:22 | S3 | +| main.rs:1994:9:1994:30 | TupleExpr | T1 | main.rs:1993:61:1993:75 | impl ... | +| main.rs:1994:9:1994:30 | TupleExpr | T1.T3 | main.rs:1993:24:1993:31 | T | +| main.rs:1994:9:1994:30 | TupleExpr | T1.impl(T) | main.rs:1993:24:1993:31 | T | +| main.rs:1994:10:1994:22 | S3(...) | | main.rs:1938:5:1938:22 | S3 | +| main.rs:1994:10:1994:22 | S3(...) | | main.rs:1993:44:1993:58 | impl ... | +| main.rs:1994:10:1994:22 | S3(...) | T3 | main.rs:1993:24:1993:31 | T | +| main.rs:1994:10:1994:22 | S3(...) | impl(T) | main.rs:1993:24:1993:31 | T | +| main.rs:1994:13:1994:13 | x | | main.rs:1993:24:1993:31 | T | +| main.rs:1994:13:1994:21 | x.clone() | | main.rs:1993:24:1993:31 | T | +| main.rs:1994:25:1994:29 | S3(...) | | main.rs:1938:5:1938:22 | S3 | +| main.rs:1994:25:1994:29 | S3(...) | | main.rs:1993:61:1993:75 | impl ... | +| main.rs:1994:25:1994:29 | S3(...) | T3 | main.rs:1993:24:1993:31 | T | +| main.rs:1994:25:1994:29 | S3(...) | impl(T) | main.rs:1993:24:1993:31 | T | +| main.rs:1994:28:1994:28 | x | | main.rs:1993:24:1993:31 | T | +| main.rs:1997:26:1997:26 | t | | main.rs:1997:29:1997:43 | impl ... | +| main.rs:1997:51:1999:5 | { ... } | | main.rs:1997:23:1997:23 | A | +| main.rs:1998:9:1998:9 | t | | main.rs:1997:29:1997:43 | impl ... | +| main.rs:1998:9:1998:17 | t.get_a() | | main.rs:1997:23:1997:23 | A | +| main.rs:2001:16:2015:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2002:13:2002:13 | x | | main.rs:1956:16:1956:35 | impl ... + ... | +| main.rs:2002:17:2002:20 | f1(...) | | main.rs:1956:16:1956:35 | impl ... + ... | +| main.rs:2003:9:2003:9 | x | | main.rs:1956:16:1956:35 | impl ... + ... | +| main.rs:2003:9:2003:14 | x.f1() | | {EXTERNAL LOCATION} | () | +| main.rs:2004:9:2004:9 | x | | main.rs:1956:16:1956:35 | impl ... + ... | +| main.rs:2004:9:2004:14 | x.f2() | | {EXTERNAL LOCATION} | () | +| main.rs:2005:13:2005:13 | a | | main.rs:1977:28:1977:43 | impl ... | +| main.rs:2005:17:2005:32 | get_a_my_trait(...) | | main.rs:1977:28:1977:43 | impl ... | +| main.rs:2006:13:2006:13 | b | | main.rs:1937:5:1937:14 | S2 | +| main.rs:2006:17:2006:33 | uses_my_trait1(...) | | main.rs:1937:5:1937:14 | S2 | +| main.rs:2006:32:2006:32 | a | | main.rs:1977:28:1977:43 | impl ... | +| main.rs:2007:13:2007:13 | a | | main.rs:1977:28:1977:43 | impl ... | +| main.rs:2007:17:2007:32 | get_a_my_trait(...) | | main.rs:1977:28:1977:43 | impl ... | +| main.rs:2008:13:2008:13 | c | | main.rs:1937:5:1937:14 | S2 | +| main.rs:2008:17:2008:33 | uses_my_trait2(...) | | main.rs:1937:5:1937:14 | S2 | +| main.rs:2008:32:2008:32 | a | | main.rs:1977:28:1977:43 | impl ... | +| main.rs:2009:13:2009:13 | d | | main.rs:1937:5:1937:14 | S2 | +| main.rs:2009:17:2009:34 | uses_my_trait2(...) | | main.rs:1937:5:1937:14 | S2 | +| main.rs:2009:32:2009:33 | S1 | | main.rs:1935:5:1936:14 | S1 | +| main.rs:2010:13:2010:13 | e | | main.rs:1935:5:1936:14 | S1 | +| main.rs:2010:17:2010:35 | get_a_my_trait2(...) | | main.rs:1985:43:1985:57 | impl ... | +| main.rs:2010:17:2010:35 | get_a_my_trait2(...) | impl(T) | main.rs:1935:5:1936:14 | S1 | +| main.rs:2010:17:2010:43 | ... .get_a() | | main.rs:1935:5:1936:14 | S1 | +| main.rs:2010:33:2010:34 | S1 | | main.rs:1935:5:1936:14 | S1 | +| main.rs:2013:13:2013:13 | f | | main.rs:1935:5:1936:14 | S1 | +| main.rs:2013:17:2013:35 | get_a_my_trait3(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2013:17:2013:35 | get_a_my_trait3(...) | T | main.rs:1989:50:1989:64 | impl ... | +| main.rs:2013:17:2013:35 | get_a_my_trait3(...) | T.impl(T) | main.rs:1935:5:1936:14 | S1 | +| main.rs:2013:17:2013:44 | ... .unwrap() | | main.rs:1989:50:1989:64 | impl ... | +| main.rs:2013:17:2013:44 | ... .unwrap() | impl(T) | main.rs:1935:5:1936:14 | S1 | +| main.rs:2013:17:2013:52 | ... .get_a() | | main.rs:1935:5:1936:14 | S1 | +| main.rs:2013:33:2013:34 | S1 | | main.rs:1935:5:1936:14 | S1 | +| main.rs:2014:13:2014:13 | g | | main.rs:1935:5:1936:14 | S1 | +| main.rs:2014:17:2014:35 | get_a_my_trait4(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2014:17:2014:35 | get_a_my_trait4(...) | T0 | main.rs:1993:44:1993:58 | impl ... | +| main.rs:2014:17:2014:35 | get_a_my_trait4(...) | T0.impl(T) | main.rs:1935:5:1936:14 | S1 | +| main.rs:2014:17:2014:35 | get_a_my_trait4(...) | T1 | main.rs:1993:61:1993:75 | impl ... | +| main.rs:2014:17:2014:35 | get_a_my_trait4(...) | T1.impl(T) | main.rs:1935:5:1936:14 | S1 | +| main.rs:2014:17:2014:37 | ... .0 | | main.rs:1993:44:1993:58 | impl ... | +| main.rs:2014:17:2014:37 | ... .0 | impl(T) | main.rs:1935:5:1936:14 | S1 | +| main.rs:2014:17:2014:45 | ... .get_a() | | main.rs:1935:5:1936:14 | S1 | +| main.rs:2014:33:2014:34 | S1 | | main.rs:1935:5:1936:14 | S1 | +| main.rs:2025:16:2025:20 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2025:16:2025:20 | SelfParam | TRef | main.rs:2021:5:2022:13 | S | +| main.rs:2025:31:2027:9 | { ... } | | main.rs:2021:5:2022:13 | S | +| main.rs:2026:13:2026:13 | S | | main.rs:2021:5:2022:13 | S | +| main.rs:2036:26:2038:9 | { ... } | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2036:26:2038:9 | { ... } | T | main.rs:2035:10:2035:10 | T | +| main.rs:2037:13:2037:38 | MyVec {...} | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2037:13:2037:38 | MyVec {...} | T | main.rs:2035:10:2035:10 | T | +| main.rs:2037:27:2037:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2037:27:2037:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2037:27:2037:36 | ...::new(...) | T | main.rs:2035:10:2035:10 | T | +| main.rs:2040:17:2040:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | +| main.rs:2040:17:2040:25 | SelfParam | TRefMut | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2040:17:2040:25 | SelfParam | TRefMut.T | main.rs:2035:10:2035:10 | T | +| main.rs:2040:28:2040:32 | value | | main.rs:2035:10:2035:10 | T | +| main.rs:2040:38:2042:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2041:13:2041:16 | self | | {EXTERNAL LOCATION} | &mut | +| main.rs:2041:13:2041:16 | self | TRefMut | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2041:13:2041:16 | self | TRefMut.T | main.rs:2035:10:2035:10 | T | +| main.rs:2041:13:2041:21 | self.data | | {EXTERNAL LOCATION} | Vec | +| main.rs:2041:13:2041:21 | self.data | A | {EXTERNAL LOCATION} | Global | +| main.rs:2041:13:2041:21 | self.data | T | main.rs:2035:10:2035:10 | T | +| main.rs:2041:13:2041:33 | ... .push(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2041:28:2041:32 | value | | main.rs:2035:10:2035:10 | T | +| main.rs:2049:18:2049:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2049:18:2049:22 | SelfParam | TRef | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2049:18:2049:22 | SelfParam | TRef.T | main.rs:2045:10:2045:10 | T | +| main.rs:2049:25:2049:29 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:2049:56:2051:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2049:56:2051:9 | { ... } | TRef | main.rs:2045:10:2045:10 | T | +| main.rs:2050:13:2050:29 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2050:13:2050:29 | &... | TRef | main.rs:2045:10:2045:10 | T | +| main.rs:2050:14:2050:17 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2050:14:2050:17 | self | TRef | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2050:14:2050:17 | self | TRef.T | main.rs:2045:10:2045:10 | T | +| main.rs:2050:14:2050:22 | self.data | | {EXTERNAL LOCATION} | Vec | +| main.rs:2050:14:2050:22 | self.data | A | {EXTERNAL LOCATION} | Global | +| main.rs:2050:14:2050:22 | self.data | T | main.rs:2045:10:2045:10 | T | +| main.rs:2050:14:2050:29 | ...[index] | | main.rs:2045:10:2045:10 | T | +| main.rs:2050:24:2050:28 | index | | {EXTERNAL LOCATION} | usize | +| main.rs:2054:22:2054:26 | slice | | {EXTERNAL LOCATION} | & | +| main.rs:2054:22:2054:26 | slice | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:2054:22:2054:26 | slice | TRef.TSlice | main.rs:2021:5:2022:13 | S | +| main.rs:2054:35:2056:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2055:13:2055:13 | x | | main.rs:2021:5:2022:13 | S | +| main.rs:2055:17:2055:21 | slice | | {EXTERNAL LOCATION} | & | +| main.rs:2055:17:2055:21 | slice | TRef | {EXTERNAL LOCATION} | [] | +| main.rs:2055:17:2055:21 | slice | TRef.TSlice | main.rs:2021:5:2022:13 | S | +| main.rs:2055:17:2055:24 | slice[0] | | main.rs:2021:5:2022:13 | S | +| main.rs:2055:17:2055:30 | ... .foo() | | main.rs:2021:5:2022:13 | S | +| main.rs:2055:23:2055:23 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2058:37:2058:37 | a | | main.rs:2058:20:2058:34 | T | +| main.rs:2058:43:2058:43 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2061:5:2063:5 | { ... } | | main.rs:2058:20:2058:34 | T::Output[Index] | +| main.rs:2062:9:2062:9 | a | | main.rs:2058:20:2058:34 | T | +| main.rs:2062:9:2062:12 | a[b] | | main.rs:2058:20:2058:34 | T::Output[Index] | +| main.rs:2062:11:2062:11 | b | | {EXTERNAL LOCATION} | usize | +| main.rs:2065:16:2076:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2066:17:2066:19 | vec | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2066:17:2066:19 | vec | T | main.rs:2021:5:2022:13 | S | +| main.rs:2066:23:2066:34 | ...::new(...) | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2066:23:2066:34 | ...::new(...) | T | main.rs:2021:5:2022:13 | S | +| main.rs:2067:9:2067:11 | vec | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2067:9:2067:11 | vec | T | main.rs:2021:5:2022:13 | S | +| main.rs:2067:9:2067:19 | vec.push(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2067:18:2067:18 | S | | main.rs:2021:5:2022:13 | S | +| main.rs:2068:9:2068:11 | vec | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2068:9:2068:11 | vec | T | main.rs:2021:5:2022:13 | S | +| main.rs:2068:9:2068:14 | vec[0] | | main.rs:2021:5:2022:13 | S | +| main.rs:2068:9:2068:20 | ... .foo() | | main.rs:2021:5:2022:13 | S | +| main.rs:2068:13:2068:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2070:13:2070:14 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2070:13:2070:14 | xs | TArray | main.rs:2021:5:2022:13 | S | +| main.rs:2070:21:2070:21 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2070:26:2070:28 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2070:26:2070:28 | [...] | TArray | main.rs:2021:5:2022:13 | S | +| main.rs:2070:27:2070:27 | S | | main.rs:2021:5:2022:13 | S | +| main.rs:2071:13:2071:13 | x | | main.rs:2021:5:2022:13 | S | +| main.rs:2071:17:2071:18 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2071:17:2071:18 | xs | TArray | main.rs:2021:5:2022:13 | S | +| main.rs:2071:17:2071:21 | xs[0] | | main.rs:2021:5:2022:13 | S | +| main.rs:2071:17:2071:27 | ... .foo() | | main.rs:2021:5:2022:13 | S | +| main.rs:2071:20:2071:20 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2073:13:2073:13 | y | | main.rs:2021:5:2022:13 | S | +| main.rs:2073:17:2073:35 | param_index(...) | | main.rs:2021:5:2022:13 | S | +| main.rs:2073:29:2073:31 | vec | | main.rs:2030:5:2033:5 | MyVec | +| main.rs:2073:29:2073:31 | vec | T | main.rs:2021:5:2022:13 | S | +| main.rs:2073:34:2073:34 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2075:9:2075:26 | analyze_slice(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2075:23:2075:25 | &xs | | {EXTERNAL LOCATION} | & | +| main.rs:2075:23:2075:25 | &xs | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:2075:23:2075:25 | &xs | TRef.TArray | main.rs:2021:5:2022:13 | S | +| main.rs:2075:24:2075:25 | xs | | {EXTERNAL LOCATION} | [;] | +| main.rs:2075:24:2075:25 | xs | TArray | main.rs:2021:5:2022:13 | S | +| main.rs:2080:16:2082:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2081:13:2081:13 | x | | {EXTERNAL LOCATION} | String | +| main.rs:2081:17:2081:46 | MacroExpr | | {EXTERNAL LOCATION} | String | +| main.rs:2081:25:2081:35 | "Hello, {}" | | {EXTERNAL LOCATION} | & | +| main.rs:2081:25:2081:35 | "Hello, {}" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2081:25:2081:45 | ...::format(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2081:25:2081:45 | ...::must_use(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2081:25:2081:45 | { ... } | | {EXTERNAL LOCATION} | String | +| main.rs:2081:38:2081:45 | "World!" | | {EXTERNAL LOCATION} | & | +| main.rs:2081:38:2081:45 | "World!" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2090:19:2090:22 | SelfParam | | main.rs:2086:5:2091:5 | Self [trait MyAdd] | +| main.rs:2090:25:2090:27 | rhs | | main.rs:2086:17:2086:26 | Rhs | +| main.rs:2097:19:2097:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2097:25:2097:29 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2097:45:2099:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2098:13:2098:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2106:19:2106:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2106:25:2106:29 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2106:25:2106:29 | value | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2106:46:2108:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2107:13:2107:18 | * ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:2107:14:2107:18 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2107:14:2107:18 | value | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2115:19:2115:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | +| main.rs:2115:25:2115:29 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2115:46:2121:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2116:13:2120:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | +| main.rs:2116:13:2120:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | +| main.rs:2116:16:2116:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2116:22:2118:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2116:22:2118:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2117:17:2117:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2117:17:2117:17 | 1 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2118:20:2120:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2118:20:2120:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2119:17:2119:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2119:17:2119:17 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2130:19:2130:22 | SelfParam | | main.rs:2124:5:2124:19 | S | +| main.rs:2130:19:2130:22 | SelfParam | T | main.rs:2126:10:2126:17 | T | +| main.rs:2130:25:2130:29 | other | | main.rs:2124:5:2124:19 | S | +| main.rs:2130:25:2130:29 | other | T | main.rs:2126:10:2126:17 | T | +| main.rs:2130:54:2132:9 | { ... } | | main.rs:2124:5:2124:19 | S | +| main.rs:2130:54:2132:9 | { ... } | T | main.rs:2126:10:2126:17 | T::Output[MyAdd] | +| main.rs:2131:13:2131:39 | S(...) | | main.rs:2124:5:2124:19 | S | +| main.rs:2131:13:2131:39 | S(...) | T | main.rs:2126:10:2126:17 | T::Output[MyAdd] | +| main.rs:2131:15:2131:22 | (...) | | main.rs:2126:10:2126:17 | T | +| main.rs:2131:15:2131:38 | ... .my_add(...) | | main.rs:2126:10:2126:17 | T::Output[MyAdd] | +| main.rs:2131:16:2131:19 | self | | main.rs:2124:5:2124:19 | S | +| main.rs:2131:16:2131:19 | self | T | main.rs:2126:10:2126:17 | T | +| main.rs:2131:16:2131:21 | self.0 | | main.rs:2126:10:2126:17 | T | +| main.rs:2131:31:2131:35 | other | | main.rs:2124:5:2124:19 | S | +| main.rs:2131:31:2131:35 | other | T | main.rs:2126:10:2126:17 | T | +| main.rs:2131:31:2131:37 | other.0 | | main.rs:2126:10:2126:17 | T | +| main.rs:2139:19:2139:22 | SelfParam | | main.rs:2124:5:2124:19 | S | +| main.rs:2139:19:2139:22 | SelfParam | T | main.rs:2135:10:2135:17 | T | +| main.rs:2139:25:2139:29 | other | | main.rs:2135:10:2135:17 | T | +| main.rs:2139:51:2141:9 | { ... } | | main.rs:2124:5:2124:19 | S | +| main.rs:2139:51:2141:9 | { ... } | T | main.rs:2135:10:2135:17 | T::Output[MyAdd] | +| main.rs:2140:13:2140:37 | S(...) | | main.rs:2124:5:2124:19 | S | +| main.rs:2140:13:2140:37 | S(...) | T | main.rs:2135:10:2135:17 | T::Output[MyAdd] | +| main.rs:2140:15:2140:22 | (...) | | main.rs:2135:10:2135:17 | T | +| main.rs:2140:15:2140:36 | ... .my_add(...) | | main.rs:2135:10:2135:17 | T::Output[MyAdd] | +| main.rs:2140:16:2140:19 | self | | main.rs:2124:5:2124:19 | S | +| main.rs:2140:16:2140:19 | self | T | main.rs:2135:10:2135:17 | T | +| main.rs:2140:16:2140:21 | self.0 | | main.rs:2135:10:2135:17 | T | +| main.rs:2140:31:2140:35 | other | | main.rs:2135:10:2135:17 | T | +| main.rs:2151:19:2151:22 | SelfParam | | main.rs:2124:5:2124:19 | S | +| main.rs:2151:19:2151:22 | SelfParam | T | main.rs:2144:14:2144:14 | T | +| main.rs:2151:25:2151:29 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2151:25:2151:29 | other | TRef | main.rs:2144:14:2144:14 | T | +| main.rs:2151:55:2153:9 | { ... } | | main.rs:2124:5:2124:19 | S | +| main.rs:2151:55:2153:9 | { ... } | T | main.rs:2144:14:2144:14 | T::Output[MyAdd] | +| main.rs:2152:13:2152:37 | S(...) | | main.rs:2124:5:2124:19 | S | +| main.rs:2152:13:2152:37 | S(...) | T | main.rs:2144:14:2144:14 | T::Output[MyAdd] | +| main.rs:2152:15:2152:22 | (...) | | main.rs:2144:14:2144:14 | T | +| main.rs:2152:15:2152:36 | ... .my_add(...) | | main.rs:2144:14:2144:14 | T::Output[MyAdd] | +| main.rs:2152:16:2152:19 | self | | main.rs:2124:5:2124:19 | S | +| main.rs:2152:16:2152:19 | self | T | main.rs:2144:14:2144:14 | T | +| main.rs:2152:16:2152:21 | self.0 | | main.rs:2144:14:2144:14 | T | +| main.rs:2152:31:2152:35 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2152:31:2152:35 | other | TRef | main.rs:2144:14:2144:14 | T | +| main.rs:2158:20:2158:24 | value | | main.rs:2156:18:2156:18 | T | +| main.rs:2163:20:2163:24 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2163:40:2165:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2164:13:2164:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2170:20:2170:24 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2170:41:2176:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2171:13:2175:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | +| main.rs:2171:13:2175:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | +| main.rs:2171:16:2171:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2171:22:2173:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2171:22:2173:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2172:17:2172:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2172:17:2172:17 | 1 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2173:20:2175:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2173:20:2175:13 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2174:17:2174:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2174:17:2174:17 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2181:21:2181:25 | value | | main.rs:2179:19:2179:19 | T | +| main.rs:2181:31:2181:31 | x | | main.rs:2179:5:2182:5 | Self [trait MyFrom2] | +| main.rs:2186:21:2186:25 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2186:33:2186:33 | _ | | {EXTERNAL LOCATION} | i64 | +| main.rs:2186:48:2188:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2187:13:2187:17 | value | | {EXTERNAL LOCATION} | i64 | +| main.rs:2193:21:2193:25 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2193:34:2193:34 | _ | | {EXTERNAL LOCATION} | i64 | +| main.rs:2193:49:2199:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2194:13:2198:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | +| main.rs:2194:16:2194:20 | value | | {EXTERNAL LOCATION} | bool | +| main.rs:2194:22:2196:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2195:17:2195:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2196:20:2198:13 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2197:17:2197:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2204:15:2204:15 | x | | main.rs:2202:5:2208:5 | Self [trait MySelfTrait] | +| main.rs:2207:15:2207:15 | x | | main.rs:2202:5:2208:5 | Self [trait MySelfTrait] | +| main.rs:2212:15:2212:15 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2212:31:2214:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2213:13:2213:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2213:13:2213:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:2213:17:2213:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2217:15:2217:15 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2217:32:2219:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2218:13:2218:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2218:22:2218:23 | 73 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2218:22:2218:23 | 73 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2219:9:2219:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2219:9:2219:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2219:18:2219:21 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2220:9:2220:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2220:9:2220:23 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2220:18:2220:22 | &5i64 | | {EXTERNAL LOCATION} | & | -| main.rs:2220:18:2220:22 | &5i64 | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2220:19:2220:22 | 5i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2221:9:2221:9 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2221:9:2221:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2221:18:2221:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2223:9:2223:15 | S(...) | | main.rs:2107:5:2107:19 | S | -| main.rs:2223:9:2223:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2223:9:2223:31 | ... .my_add(...) | | main.rs:2107:5:2107:19 | S | -| main.rs:2223:9:2223:31 | ... .my_add(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2223:9:2223:31 | ... .my_add(...) | T | main.rs:2107:5:2107:19 | S | -| main.rs:2223:9:2223:31 | ... .my_add(...) | T.T | main.rs:2109:10:2109:17 | T::Output[MyAdd] | -| main.rs:2223:9:2223:31 | ... .my_add(...) | T.T | main.rs:2118:10:2118:17 | T::Output[MyAdd] | -| main.rs:2223:9:2223:31 | ... .my_add(...) | T.T | main.rs:2127:14:2127:14 | T::Output[MyAdd] | -| main.rs:2223:11:2223:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2223:24:2223:30 | S(...) | | main.rs:2107:5:2107:19 | S | -| main.rs:2223:24:2223:30 | S(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2223:26:2223:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2224:9:2224:15 | S(...) | | main.rs:2107:5:2107:19 | S | -| main.rs:2224:9:2224:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2224:9:2224:28 | ... .my_add(...) | | main.rs:2107:5:2107:19 | S | -| main.rs:2224:9:2224:28 | ... .my_add(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2224:11:2224:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2224:24:2224:27 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2225:9:2225:15 | S(...) | | main.rs:2107:5:2107:19 | S | -| main.rs:2225:9:2225:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2225:9:2225:29 | ... .my_add(...) | | main.rs:2107:5:2107:19 | S | -| main.rs:2225:9:2225:29 | ... .my_add(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2225:11:2225:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2225:24:2225:28 | &3i64 | | {EXTERNAL LOCATION} | & | -| main.rs:2225:24:2225:28 | &3i64 | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2225:25:2225:28 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2227:13:2227:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2227:17:2227:35 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2227:30:2227:34 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2228:13:2228:13 | y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2228:17:2228:34 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2228:30:2228:33 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2229:13:2229:13 | z | | {EXTERNAL LOCATION} | i64 | -| main.rs:2229:22:2229:43 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2229:38:2229:42 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2230:9:2230:34 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2230:23:2230:27 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2230:30:2230:33 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2231:9:2231:33 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2231:23:2231:26 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2231:29:2231:32 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2232:9:2232:38 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2232:27:2232:31 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2232:34:2232:37 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2234:9:2234:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2234:17:2234:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2235:9:2235:22 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2235:17:2235:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2236:9:2236:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2236:18:2236:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2237:9:2237:22 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2237:18:2237:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2238:9:2238:30 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2238:25:2238:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2239:9:2239:30 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2239:25:2239:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2240:9:2240:29 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2240:25:2240:28 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2241:9:2241:29 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2241:25:2241:28 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2249:26:2251:9 | { ... } | | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2250:13:2250:25 | MyCallable {...} | | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2253:17:2253:21 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2253:17:2253:21 | SelfParam | TRef | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2253:31:2255:9 | { ... } | | {EXTERNAL LOCATION} | i64 | -| main.rs:2254:13:2254:13 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2254:13:2254:13 | 1 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2258:16:2365:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2261:9:2261:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2261:13:2261:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2261:18:2261:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2261:18:2261:26 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2261:19:2261:19 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2261:22:2261:22 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2261:25:2261:25 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2261:28:2261:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2262:9:2262:44 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2262:13:2262:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2262:18:2262:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2262:18:2262:26 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2262:18:2262:41 | ... .map(...) | | {EXTERNAL LOCATION} | [;] | -| main.rs:2262:18:2262:41 | ... .map(...) | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2262:19:2262:19 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2262:22:2262:22 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2262:25:2262:25 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2262:32:2262:40 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | -| main.rs:2262:32:2262:40 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| main.rs:2262:32:2262:40 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2262:32:2262:40 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | -| main.rs:2262:33:2262:33 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2262:36:2262:36 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2262:36:2262:40 | ... + ... | | {EXTERNAL LOCATION} | i32 | -| main.rs:2262:40:2262:40 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2262:43:2262:44 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2263:9:2263:41 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2263:13:2263:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2263:18:2263:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2263:18:2263:26 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2263:18:2263:38 | ... .into_iter() | | {EXTERNAL LOCATION} | IntoIter | -| main.rs:2263:18:2263:38 | ... .into_iter() | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2263:19:2263:19 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2263:22:2263:22 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2263:25:2263:25 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2263:40:2263:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2265:13:2265:17 | vals1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2265:13:2265:17 | vals1 | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2265:13:2265:17 | vals1 | TArray | {EXTERNAL LOCATION} | u8 | -| main.rs:2265:21:2265:31 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2265:21:2265:31 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2265:21:2265:31 | [...] | TArray | {EXTERNAL LOCATION} | u8 | -| main.rs:2265:22:2265:24 | 1u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2265:27:2265:27 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2265:27:2265:27 | 2 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2265:30:2265:30 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2265:30:2265:30 | 3 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2266:9:2266:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2266:13:2266:13 | u | | {EXTERNAL LOCATION} | i32 | -| main.rs:2266:13:2266:13 | u | | {EXTERNAL LOCATION} | u8 | -| main.rs:2266:18:2266:22 | vals1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2266:18:2266:22 | vals1 | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2266:18:2266:22 | vals1 | TArray | {EXTERNAL LOCATION} | u8 | -| main.rs:2266:24:2266:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2268:13:2268:17 | vals2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2268:13:2268:17 | vals2 | TArray | {EXTERNAL LOCATION} | u16 | -| main.rs:2268:21:2268:29 | [1u16; 3] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2268:21:2268:29 | [1u16; 3] | TArray | {EXTERNAL LOCATION} | u16 | -| main.rs:2268:22:2268:25 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2268:28:2268:28 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2269:9:2269:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2269:13:2269:13 | u | | {EXTERNAL LOCATION} | u16 | -| main.rs:2269:18:2269:22 | vals2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2269:18:2269:22 | vals2 | TArray | {EXTERNAL LOCATION} | u16 | -| main.rs:2269:24:2269:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2271:13:2271:17 | vals3 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2271:13:2271:17 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | -| main.rs:2271:26:2271:26 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2271:31:2271:39 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2271:31:2271:39 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2271:31:2271:39 | [...] | TArray | {EXTERNAL LOCATION} | u32 | -| main.rs:2271:32:2271:32 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2271:32:2271:32 | 1 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2271:35:2271:35 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2271:35:2271:35 | 2 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2271:38:2271:38 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2271:38:2271:38 | 3 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2272:9:2272:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2272:13:2272:13 | u | | {EXTERNAL LOCATION} | u32 | -| main.rs:2272:18:2272:22 | vals3 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2272:18:2272:22 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | -| main.rs:2272:24:2272:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2274:13:2274:17 | vals4 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2274:13:2274:17 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2274:26:2274:26 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2274:31:2274:36 | [1; 3] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2274:31:2274:36 | [1; 3] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2274:31:2274:36 | [1; 3] | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2274:32:2274:32 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2274:32:2274:32 | 1 | | {EXTERNAL LOCATION} | u64 | -| main.rs:2274:35:2274:35 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2275:9:2275:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2275:13:2275:13 | u | | {EXTERNAL LOCATION} | u64 | -| main.rs:2275:18:2275:22 | vals4 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2275:18:2275:22 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2275:24:2275:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2277:17:2277:24 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2277:17:2277:24 | strings1 | TArray | {EXTERNAL LOCATION} | & | -| main.rs:2277:17:2277:24 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2277:28:2277:48 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2277:28:2277:48 | [...] | TArray | {EXTERNAL LOCATION} | & | -| main.rs:2277:28:2277:48 | [...] | TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2277:29:2277:33 | "foo" | | {EXTERNAL LOCATION} | & | -| main.rs:2277:29:2277:33 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2277:36:2277:40 | "bar" | | {EXTERNAL LOCATION} | & | -| main.rs:2277:36:2277:40 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2277:43:2277:47 | "baz" | | {EXTERNAL LOCATION} | & | -| main.rs:2277:43:2277:47 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2218:13:2218:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | +| main.rs:2218:17:2218:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2224:15:2224:15 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2224:31:2226:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2225:13:2225:13 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2225:13:2225:13 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2229:15:2229:15 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2229:32:2231:9 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2230:13:2230:13 | x | | {EXTERNAL LOCATION} | bool | +| main.rs:2234:16:2259:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2235:13:2235:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2235:22:2235:23 | 73 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2235:22:2235:23 | 73 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2236:9:2236:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2236:9:2236:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2236:18:2236:21 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2237:9:2237:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2237:9:2237:23 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2237:18:2237:22 | &5i64 | | {EXTERNAL LOCATION} | & | +| main.rs:2237:18:2237:22 | &5i64 | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2237:19:2237:22 | 5i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2238:9:2238:9 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2238:9:2238:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2238:18:2238:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2240:9:2240:15 | S(...) | | main.rs:2124:5:2124:19 | S | +| main.rs:2240:9:2240:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2240:9:2240:31 | ... .my_add(...) | | main.rs:2124:5:2124:19 | S | +| main.rs:2240:9:2240:31 | ... .my_add(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2240:9:2240:31 | ... .my_add(...) | T | main.rs:2124:5:2124:19 | S | +| main.rs:2240:9:2240:31 | ... .my_add(...) | T.T | main.rs:2126:10:2126:17 | T::Output[MyAdd] | +| main.rs:2240:9:2240:31 | ... .my_add(...) | T.T | main.rs:2135:10:2135:17 | T::Output[MyAdd] | +| main.rs:2240:9:2240:31 | ... .my_add(...) | T.T | main.rs:2144:14:2144:14 | T::Output[MyAdd] | +| main.rs:2240:11:2240:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2240:24:2240:30 | S(...) | | main.rs:2124:5:2124:19 | S | +| main.rs:2240:24:2240:30 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2240:26:2240:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2241:9:2241:15 | S(...) | | main.rs:2124:5:2124:19 | S | +| main.rs:2241:9:2241:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2241:9:2241:28 | ... .my_add(...) | | main.rs:2124:5:2124:19 | S | +| main.rs:2241:9:2241:28 | ... .my_add(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2241:11:2241:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2241:24:2241:27 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2242:9:2242:15 | S(...) | | main.rs:2124:5:2124:19 | S | +| main.rs:2242:9:2242:15 | S(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2242:9:2242:29 | ... .my_add(...) | | main.rs:2124:5:2124:19 | S | +| main.rs:2242:9:2242:29 | ... .my_add(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2242:11:2242:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2242:24:2242:28 | &3i64 | | {EXTERNAL LOCATION} | & | +| main.rs:2242:24:2242:28 | &3i64 | TRef | {EXTERNAL LOCATION} | i64 | +| main.rs:2242:25:2242:28 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2244:13:2244:13 | x | | {EXTERNAL LOCATION} | i64 | +| main.rs:2244:17:2244:35 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2244:30:2244:34 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2245:13:2245:13 | y | | {EXTERNAL LOCATION} | i64 | +| main.rs:2245:17:2245:34 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2245:30:2245:33 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2246:13:2246:13 | z | | {EXTERNAL LOCATION} | i64 | +| main.rs:2246:22:2246:43 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2246:38:2246:42 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2247:9:2247:34 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2247:23:2247:27 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2247:30:2247:33 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2248:9:2248:33 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2248:23:2248:26 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2248:29:2248:32 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2249:9:2249:38 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2249:27:2249:31 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2249:34:2249:37 | 0i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2251:9:2251:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2251:17:2251:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2252:9:2252:22 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2252:17:2252:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2253:9:2253:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2253:18:2253:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2254:9:2254:22 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2254:18:2254:21 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2255:9:2255:30 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2255:25:2255:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2256:9:2256:30 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2256:25:2256:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2257:9:2257:29 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2257:25:2257:28 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2258:9:2258:29 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2258:25:2258:28 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2266:26:2268:9 | { ... } | | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2267:13:2267:25 | MyCallable {...} | | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2270:17:2270:21 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2270:17:2270:21 | SelfParam | TRef | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2270:31:2272:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2271:13:2271:13 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2271:13:2271:13 | 1 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2275:16:2382:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2278:9:2278:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2278:13:2278:13 | s | | {EXTERNAL LOCATION} | & | -| main.rs:2278:13:2278:13 | s | TRef | {EXTERNAL LOCATION} | & | -| main.rs:2278:13:2278:13 | s | TRef.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2278:18:2278:26 | &strings1 | | {EXTERNAL LOCATION} | & | -| main.rs:2278:18:2278:26 | &strings1 | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:2278:18:2278:26 | &strings1 | TRef.TArray | {EXTERNAL LOCATION} | & | -| main.rs:2278:18:2278:26 | &strings1 | TRef.TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2278:19:2278:26 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2278:19:2278:26 | strings1 | TArray | {EXTERNAL LOCATION} | & | -| main.rs:2278:19:2278:26 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2278:13:2278:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2278:18:2278:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2278:18:2278:26 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2278:19:2278:19 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2278:22:2278:22 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2278:25:2278:25 | 3 | | {EXTERNAL LOCATION} | i32 | | main.rs:2278:28:2278:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2279:9:2279:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2279:13:2279:13 | s | | {EXTERNAL LOCATION} | I::Item[Iterator] | -| main.rs:2279:13:2279:13 | s | | {EXTERNAL LOCATION} | &mut | -| main.rs:2279:13:2279:13 | s | TRefMut | {EXTERNAL LOCATION} | & | -| main.rs:2279:13:2279:13 | s | TRefMut.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2279:18:2279:30 | &mut strings1 | | {EXTERNAL LOCATION} | &mut | -| main.rs:2279:18:2279:30 | &mut strings1 | TRefMut | {EXTERNAL LOCATION} | [;] | -| main.rs:2279:18:2279:30 | &mut strings1 | TRefMut.TArray | {EXTERNAL LOCATION} | & | -| main.rs:2279:18:2279:30 | &mut strings1 | TRefMut.TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2279:23:2279:30 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2279:23:2279:30 | strings1 | TArray | {EXTERNAL LOCATION} | & | -| main.rs:2279:23:2279:30 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2279:32:2279:33 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2280:9:2280:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2280:13:2280:13 | s | | {EXTERNAL LOCATION} | & | -| main.rs:2280:13:2280:13 | s | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2280:18:2280:25 | strings1 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2280:18:2280:25 | strings1 | TArray | {EXTERNAL LOCATION} | & | -| main.rs:2280:18:2280:25 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2280:27:2280:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2282:13:2282:20 | strings2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2282:13:2282:20 | strings2 | TArray | {EXTERNAL LOCATION} | String | -| main.rs:2283:9:2287:9 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2283:9:2287:9 | [...] | TArray | {EXTERNAL LOCATION} | String | -| main.rs:2284:13:2284:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2284:26:2284:30 | "foo" | | {EXTERNAL LOCATION} | & | -| main.rs:2284:26:2284:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2285:13:2285:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2285:26:2285:30 | "bar" | | {EXTERNAL LOCATION} | & | -| main.rs:2285:26:2285:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2286:13:2286:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2286:26:2286:30 | "baz" | | {EXTERNAL LOCATION} | & | -| main.rs:2286:26:2286:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2288:9:2288:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2288:13:2288:13 | s | | {EXTERNAL LOCATION} | String | -| main.rs:2288:18:2288:25 | strings2 | | {EXTERNAL LOCATION} | [;] | -| main.rs:2288:18:2288:25 | strings2 | TArray | {EXTERNAL LOCATION} | String | -| main.rs:2288:27:2288:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2290:13:2290:20 | strings3 | | {EXTERNAL LOCATION} | & | -| main.rs:2290:13:2290:20 | strings3 | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:2290:13:2290:20 | strings3 | TRef.TArray | {EXTERNAL LOCATION} | String | -| main.rs:2291:9:2295:9 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2291:9:2295:9 | &... | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:2291:9:2295:9 | &... | TRef.TArray | {EXTERNAL LOCATION} | String | -| main.rs:2291:10:2295:9 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2291:10:2295:9 | [...] | TArray | {EXTERNAL LOCATION} | String | -| main.rs:2292:13:2292:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2292:26:2292:30 | "foo" | | {EXTERNAL LOCATION} | & | -| main.rs:2292:26:2292:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2293:13:2293:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2293:26:2293:30 | "bar" | | {EXTERNAL LOCATION} | & | -| main.rs:2293:26:2293:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2294:13:2294:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2294:26:2294:30 | "baz" | | {EXTERNAL LOCATION} | & | -| main.rs:2294:26:2294:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2296:9:2296:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2296:13:2296:13 | s | | {EXTERNAL LOCATION} | & | -| main.rs:2296:13:2296:13 | s | TRef | {EXTERNAL LOCATION} | String | -| main.rs:2296:18:2296:25 | strings3 | | {EXTERNAL LOCATION} | & | -| main.rs:2296:18:2296:25 | strings3 | TRef | {EXTERNAL LOCATION} | [;] | -| main.rs:2296:18:2296:25 | strings3 | TRef.TArray | {EXTERNAL LOCATION} | String | -| main.rs:2296:27:2296:28 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2298:13:2298:21 | callables | | {EXTERNAL LOCATION} | [;] | -| main.rs:2298:13:2298:21 | callables | TArray | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2298:25:2298:81 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2298:25:2298:81 | [...] | TArray | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2298:26:2298:42 | ...::new(...) | | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2298:45:2298:61 | ...::new(...) | | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2298:64:2298:80 | ...::new(...) | | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2299:9:2303:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2299:13:2299:13 | c | | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2300:12:2300:20 | callables | | {EXTERNAL LOCATION} | [;] | -| main.rs:2300:12:2300:20 | callables | TArray | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2301:9:2303:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2302:17:2302:22 | result | | {EXTERNAL LOCATION} | i64 | -| main.rs:2302:26:2302:26 | c | | main.rs:2246:5:2246:24 | MyCallable | -| main.rs:2302:26:2302:33 | c.call() | | {EXTERNAL LOCATION} | i64 | -| main.rs:2307:9:2307:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2307:13:2307:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2307:18:2307:18 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2307:18:2307:22 | 0..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2307:18:2307:22 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2307:21:2307:22 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2307:24:2307:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2308:9:2308:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2308:13:2308:13 | u | | {EXTERNAL LOCATION} | Range | -| main.rs:2308:13:2308:13 | u | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2308:13:2308:13 | u | Idx | {EXTERNAL LOCATION} | u8 | -| main.rs:2308:18:2308:26 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2308:18:2308:26 | [...] | TArray | {EXTERNAL LOCATION} | Range | -| main.rs:2308:18:2308:26 | [...] | TArray.Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2308:18:2308:26 | [...] | TArray.Idx | {EXTERNAL LOCATION} | u8 | -| main.rs:2308:19:2308:21 | 0u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2308:19:2308:25 | 0u8..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2308:19:2308:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2308:19:2308:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | u8 | -| main.rs:2308:24:2308:25 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2308:24:2308:25 | 10 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2308:28:2308:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2309:13:2309:17 | range | | {EXTERNAL LOCATION} | Range | -| main.rs:2309:13:2309:17 | range | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2309:21:2309:21 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2309:21:2309:25 | 0..10 | | {EXTERNAL LOCATION} | Range | -| main.rs:2309:21:2309:25 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2309:24:2309:25 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2310:9:2310:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2310:13:2310:13 | i | | {EXTERNAL LOCATION} | i32 | -| main.rs:2310:18:2310:22 | range | | {EXTERNAL LOCATION} | Range | -| main.rs:2310:18:2310:22 | range | Idx | {EXTERNAL LOCATION} | i32 | -| main.rs:2310:24:2310:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2311:13:2311:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2311:26:2311:27 | .. | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2312:9:2312:51 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2312:18:2312:48 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2312:19:2312:36 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2312:19:2312:36 | [...] | TArray | {EXTERNAL LOCATION} | i64 | -| main.rs:2312:20:2312:23 | 1i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2312:26:2312:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2312:32:2312:35 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2312:38:2312:47 | range_full | | {EXTERNAL LOCATION} | RangeFull | -| main.rs:2312:50:2312:51 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2314:13:2314:18 | range1 | | {EXTERNAL LOCATION} | Range | -| main.rs:2314:13:2314:18 | range1 | Idx | {EXTERNAL LOCATION} | u16 | -| main.rs:2315:9:2318:9 | ...::Range {...} | | {EXTERNAL LOCATION} | Range | -| main.rs:2315:9:2318:9 | ...::Range {...} | Idx | {EXTERNAL LOCATION} | u16 | -| main.rs:2316:20:2316:23 | 0u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2317:18:2317:22 | 10u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2319:9:2319:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2319:13:2319:13 | u | | {EXTERNAL LOCATION} | u16 | -| main.rs:2319:18:2319:23 | range1 | | {EXTERNAL LOCATION} | Range | -| main.rs:2319:18:2319:23 | range1 | Idx | {EXTERNAL LOCATION} | u16 | -| main.rs:2319:25:2319:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2323:13:2323:17 | vals3 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2323:13:2323:17 | vals3 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2323:21:2323:33 | MacroExpr | | {EXTERNAL LOCATION} | Vec | -| main.rs:2323:21:2323:33 | MacroExpr | A | {EXTERNAL LOCATION} | Global | -| main.rs:2323:26:2323:26 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2323:29:2323:29 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2323:32:2323:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:9:2279:44 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2279:13:2279:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:18:2279:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2279:18:2279:26 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:18:2279:41 | ... .map(...) | | {EXTERNAL LOCATION} | [;] | +| main.rs:2279:18:2279:41 | ... .map(...) | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:19:2279:19 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:22:2279:22 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:25:2279:25 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:32:2279:40 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| main.rs:2279:32:2279:40 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | +| main.rs:2279:32:2279:40 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:32:2279:40 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:33:2279:33 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:36:2279:36 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:36:2279:40 | ... + ... | | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:40:2279:40 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2279:43:2279:44 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2280:9:2280:41 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2280:13:2280:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2280:18:2280:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2280:18:2280:26 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2280:18:2280:38 | ... .into_iter() | | {EXTERNAL LOCATION} | IntoIter | +| main.rs:2280:18:2280:38 | ... .into_iter() | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2280:19:2280:19 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2280:22:2280:22 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2280:25:2280:25 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2280:40:2280:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2282:13:2282:17 | vals1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2282:13:2282:17 | vals1 | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2282:13:2282:17 | vals1 | TArray | {EXTERNAL LOCATION} | u8 | +| main.rs:2282:21:2282:31 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2282:21:2282:31 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2282:21:2282:31 | [...] | TArray | {EXTERNAL LOCATION} | u8 | +| main.rs:2282:22:2282:24 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2282:27:2282:27 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2282:27:2282:27 | 2 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2282:30:2282:30 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2282:30:2282:30 | 3 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2283:9:2283:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2283:13:2283:13 | u | | {EXTERNAL LOCATION} | i32 | +| main.rs:2283:13:2283:13 | u | | {EXTERNAL LOCATION} | u8 | +| main.rs:2283:18:2283:22 | vals1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2283:18:2283:22 | vals1 | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2283:18:2283:22 | vals1 | TArray | {EXTERNAL LOCATION} | u8 | +| main.rs:2283:24:2283:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2285:13:2285:17 | vals2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2285:13:2285:17 | vals2 | TArray | {EXTERNAL LOCATION} | u16 | +| main.rs:2285:21:2285:29 | [1u16; 3] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2285:21:2285:29 | [1u16; 3] | TArray | {EXTERNAL LOCATION} | u16 | +| main.rs:2285:22:2285:25 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2285:28:2285:28 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2286:9:2286:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2286:13:2286:13 | u | | {EXTERNAL LOCATION} | u16 | +| main.rs:2286:18:2286:22 | vals2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2286:18:2286:22 | vals2 | TArray | {EXTERNAL LOCATION} | u16 | +| main.rs:2286:24:2286:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2288:13:2288:17 | vals3 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2288:13:2288:17 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2288:26:2288:26 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2288:31:2288:39 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2288:31:2288:39 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2288:31:2288:39 | [...] | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2288:32:2288:32 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2288:32:2288:32 | 1 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2288:35:2288:35 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2288:35:2288:35 | 2 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2288:38:2288:38 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2288:38:2288:38 | 3 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2289:9:2289:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2289:13:2289:13 | u | | {EXTERNAL LOCATION} | u32 | +| main.rs:2289:18:2289:22 | vals3 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2289:18:2289:22 | vals3 | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2289:24:2289:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2291:13:2291:17 | vals4 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2291:13:2291:17 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2291:26:2291:26 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2291:31:2291:36 | [1; 3] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2291:31:2291:36 | [1; 3] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2291:31:2291:36 | [1; 3] | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2291:32:2291:32 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2291:32:2291:32 | 1 | | {EXTERNAL LOCATION} | u64 | +| main.rs:2291:35:2291:35 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2292:9:2292:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2292:13:2292:13 | u | | {EXTERNAL LOCATION} | u64 | +| main.rs:2292:18:2292:22 | vals4 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2292:18:2292:22 | vals4 | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2292:24:2292:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2294:17:2294:24 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2294:17:2294:24 | strings1 | TArray | {EXTERNAL LOCATION} | & | +| main.rs:2294:17:2294:24 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2294:28:2294:48 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2294:28:2294:48 | [...] | TArray | {EXTERNAL LOCATION} | & | +| main.rs:2294:28:2294:48 | [...] | TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2294:29:2294:33 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2294:29:2294:33 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2294:36:2294:40 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2294:36:2294:40 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2294:43:2294:47 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2294:43:2294:47 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2295:9:2295:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2295:13:2295:13 | s | | {EXTERNAL LOCATION} | & | +| main.rs:2295:13:2295:13 | s | TRef | {EXTERNAL LOCATION} | & | +| main.rs:2295:13:2295:13 | s | TRef.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2295:18:2295:26 | &strings1 | | {EXTERNAL LOCATION} | & | +| main.rs:2295:18:2295:26 | &strings1 | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:2295:18:2295:26 | &strings1 | TRef.TArray | {EXTERNAL LOCATION} | & | +| main.rs:2295:18:2295:26 | &strings1 | TRef.TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2295:19:2295:26 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2295:19:2295:26 | strings1 | TArray | {EXTERNAL LOCATION} | & | +| main.rs:2295:19:2295:26 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2295:28:2295:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2296:9:2296:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2296:13:2296:13 | s | | {EXTERNAL LOCATION} | I::Item[Iterator] | +| main.rs:2296:13:2296:13 | s | | {EXTERNAL LOCATION} | &mut | +| main.rs:2296:13:2296:13 | s | TRefMut | {EXTERNAL LOCATION} | & | +| main.rs:2296:13:2296:13 | s | TRefMut.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2296:18:2296:30 | &mut strings1 | | {EXTERNAL LOCATION} | &mut | +| main.rs:2296:18:2296:30 | &mut strings1 | TRefMut | {EXTERNAL LOCATION} | [;] | +| main.rs:2296:18:2296:30 | &mut strings1 | TRefMut.TArray | {EXTERNAL LOCATION} | & | +| main.rs:2296:18:2296:30 | &mut strings1 | TRefMut.TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2296:23:2296:30 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2296:23:2296:30 | strings1 | TArray | {EXTERNAL LOCATION} | & | +| main.rs:2296:23:2296:30 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2296:32:2296:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2297:9:2297:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2297:13:2297:13 | s | | {EXTERNAL LOCATION} | & | +| main.rs:2297:13:2297:13 | s | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2297:18:2297:25 | strings1 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2297:18:2297:25 | strings1 | TArray | {EXTERNAL LOCATION} | & | +| main.rs:2297:18:2297:25 | strings1 | TArray.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2297:27:2297:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2299:13:2299:20 | strings2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2299:13:2299:20 | strings2 | TArray | {EXTERNAL LOCATION} | String | +| main.rs:2300:9:2304:9 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2300:9:2304:9 | [...] | TArray | {EXTERNAL LOCATION} | String | +| main.rs:2301:13:2301:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2301:26:2301:30 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2301:26:2301:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2302:13:2302:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2302:26:2302:30 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2302:26:2302:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2303:13:2303:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2303:26:2303:30 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2303:26:2303:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2305:9:2305:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2305:13:2305:13 | s | | {EXTERNAL LOCATION} | String | +| main.rs:2305:18:2305:25 | strings2 | | {EXTERNAL LOCATION} | [;] | +| main.rs:2305:18:2305:25 | strings2 | TArray | {EXTERNAL LOCATION} | String | +| main.rs:2305:27:2305:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2307:13:2307:20 | strings3 | | {EXTERNAL LOCATION} | & | +| main.rs:2307:13:2307:20 | strings3 | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:2307:13:2307:20 | strings3 | TRef.TArray | {EXTERNAL LOCATION} | String | +| main.rs:2308:9:2312:9 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2308:9:2312:9 | &... | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:2308:9:2312:9 | &... | TRef.TArray | {EXTERNAL LOCATION} | String | +| main.rs:2308:10:2312:9 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2308:10:2312:9 | [...] | TArray | {EXTERNAL LOCATION} | String | +| main.rs:2309:13:2309:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2309:26:2309:30 | "foo" | | {EXTERNAL LOCATION} | & | +| main.rs:2309:26:2309:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2310:13:2310:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2310:26:2310:30 | "bar" | | {EXTERNAL LOCATION} | & | +| main.rs:2310:26:2310:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2311:13:2311:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2311:26:2311:30 | "baz" | | {EXTERNAL LOCATION} | & | +| main.rs:2311:26:2311:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2313:9:2313:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2313:13:2313:13 | s | | {EXTERNAL LOCATION} | & | +| main.rs:2313:13:2313:13 | s | TRef | {EXTERNAL LOCATION} | String | +| main.rs:2313:18:2313:25 | strings3 | | {EXTERNAL LOCATION} | & | +| main.rs:2313:18:2313:25 | strings3 | TRef | {EXTERNAL LOCATION} | [;] | +| main.rs:2313:18:2313:25 | strings3 | TRef.TArray | {EXTERNAL LOCATION} | String | +| main.rs:2313:27:2313:28 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2315:13:2315:21 | callables | | {EXTERNAL LOCATION} | [;] | +| main.rs:2315:13:2315:21 | callables | TArray | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2315:25:2315:81 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2315:25:2315:81 | [...] | TArray | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2315:26:2315:42 | ...::new(...) | | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2315:45:2315:61 | ...::new(...) | | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2315:64:2315:80 | ...::new(...) | | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2316:9:2320:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2316:13:2316:13 | c | | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2317:12:2317:20 | callables | | {EXTERNAL LOCATION} | [;] | +| main.rs:2317:12:2317:20 | callables | TArray | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2318:9:2320:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2319:17:2319:22 | result | | {EXTERNAL LOCATION} | i64 | +| main.rs:2319:26:2319:26 | c | | main.rs:2263:5:2263:24 | MyCallable | +| main.rs:2319:26:2319:33 | c.call() | | {EXTERNAL LOCATION} | i64 | | main.rs:2324:9:2324:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2324:18:2324:22 | vals3 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2324:18:2324:22 | vals3 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2324:13:2324:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2324:18:2324:18 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2324:18:2324:22 | 0..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2324:18:2324:22 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2324:21:2324:22 | 10 | | {EXTERNAL LOCATION} | i32 | | main.rs:2324:24:2324:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2326:13:2326:18 | vals4a | | {EXTERNAL LOCATION} | Vec | -| main.rs:2326:13:2326:18 | vals4a | A | {EXTERNAL LOCATION} | Global | -| main.rs:2326:13:2326:18 | vals4a | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2326:32:2326:43 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2326:32:2326:43 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2326:32:2326:43 | [...] | TArray | {EXTERNAL LOCATION} | u16 | -| main.rs:2326:32:2326:52 | ... .to_vec() | | {EXTERNAL LOCATION} | Vec | -| main.rs:2326:32:2326:52 | ... .to_vec() | A | {EXTERNAL LOCATION} | Global | -| main.rs:2326:32:2326:52 | ... .to_vec() | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2326:33:2326:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2326:39:2326:39 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2326:42:2326:42 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2327:9:2327:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2327:13:2327:13 | u | | {EXTERNAL LOCATION} | u16 | -| main.rs:2327:18:2327:23 | vals4a | | {EXTERNAL LOCATION} | Vec | -| main.rs:2327:18:2327:23 | vals4a | A | {EXTERNAL LOCATION} | Global | -| main.rs:2327:18:2327:23 | vals4a | T | {EXTERNAL LOCATION} | u16 | -| main.rs:2327:25:2327:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2329:22:2329:33 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2329:22:2329:33 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2329:22:2329:33 | [...] | TArray | {EXTERNAL LOCATION} | u16 | -| main.rs:2329:23:2329:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | -| main.rs:2329:29:2329:29 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2329:32:2329:32 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2330:9:2330:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2330:25:2330:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2332:13:2332:17 | vals5 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2332:13:2332:17 | vals5 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2332:13:2332:17 | vals5 | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2332:13:2332:17 | vals5 | T | {EXTERNAL LOCATION} | u32 | -| main.rs:2332:21:2332:43 | ...::from(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2332:21:2332:43 | ...::from(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2332:21:2332:43 | ...::from(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2332:21:2332:43 | ...::from(...) | T | {EXTERNAL LOCATION} | u32 | -| main.rs:2332:31:2332:42 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2332:31:2332:42 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2332:31:2332:42 | [...] | TArray | {EXTERNAL LOCATION} | u32 | -| main.rs:2332:32:2332:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | -| main.rs:2332:38:2332:38 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2332:41:2332:41 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2333:9:2333:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2333:13:2333:13 | u | | {EXTERNAL LOCATION} | i32 | -| main.rs:2333:13:2333:13 | u | | {EXTERNAL LOCATION} | u32 | -| main.rs:2333:18:2333:22 | vals5 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2333:18:2333:22 | vals5 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2333:18:2333:22 | vals5 | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2333:18:2333:22 | vals5 | T | {EXTERNAL LOCATION} | u32 | -| main.rs:2333:24:2333:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2335:13:2335:17 | vals6 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2335:13:2335:17 | vals6 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2335:13:2335:17 | vals6 | T | {EXTERNAL LOCATION} | & | -| main.rs:2335:13:2335:17 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | -| main.rs:2335:32:2335:43 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2335:32:2335:43 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2335:32:2335:43 | [...] | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2335:32:2335:60 | ... .collect() | | {EXTERNAL LOCATION} | Vec | -| main.rs:2335:32:2335:60 | ... .collect() | A | {EXTERNAL LOCATION} | Global | -| main.rs:2335:32:2335:60 | ... .collect() | T | {EXTERNAL LOCATION} | & | -| main.rs:2335:32:2335:60 | ... .collect() | T.TRef | {EXTERNAL LOCATION} | u64 | -| main.rs:2335:33:2335:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | -| main.rs:2335:39:2335:39 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2335:42:2335:42 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2336:9:2336:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2336:13:2336:13 | u | | {EXTERNAL LOCATION} | & | -| main.rs:2336:13:2336:13 | u | TRef | {EXTERNAL LOCATION} | u64 | -| main.rs:2336:18:2336:22 | vals6 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2336:18:2336:22 | vals6 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2336:18:2336:22 | vals6 | T | {EXTERNAL LOCATION} | & | -| main.rs:2336:18:2336:22 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | -| main.rs:2336:24:2336:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2338:17:2338:21 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2338:17:2338:21 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2338:17:2338:21 | vals7 | T | {EXTERNAL LOCATION} | u8 | -| main.rs:2338:25:2338:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2338:25:2338:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2338:25:2338:34 | ...::new(...) | T | {EXTERNAL LOCATION} | u8 | -| main.rs:2339:9:2339:13 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2339:9:2339:13 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2339:9:2339:13 | vals7 | T | {EXTERNAL LOCATION} | u8 | -| main.rs:2339:9:2339:23 | vals7.push(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2339:20:2339:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | -| main.rs:2340:9:2340:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2340:13:2340:13 | u | | {EXTERNAL LOCATION} | u8 | -| main.rs:2340:18:2340:22 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2340:18:2340:22 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2340:18:2340:22 | vals7 | T | {EXTERNAL LOCATION} | u8 | -| main.rs:2340:24:2340:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2342:13:2342:19 | matrix1 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2342:13:2342:19 | matrix1 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2342:23:2342:50 | MacroExpr | | {EXTERNAL LOCATION} | Vec | -| main.rs:2342:23:2342:50 | MacroExpr | A | {EXTERNAL LOCATION} | Global | -| main.rs:2342:28:2342:37 | (...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2342:28:2342:37 | (...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2342:28:2342:37 | MacroExpr | | {EXTERNAL LOCATION} | Vec | -| main.rs:2342:28:2342:37 | MacroExpr | A | {EXTERNAL LOCATION} | Global | -| main.rs:2342:33:2342:33 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2342:36:2342:36 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2342:40:2342:49 | (...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2342:40:2342:49 | (...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2342:40:2342:49 | MacroExpr | | {EXTERNAL LOCATION} | Vec | -| main.rs:2342:40:2342:49 | MacroExpr | A | {EXTERNAL LOCATION} | Global | -| main.rs:2342:45:2342:45 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2342:48:2342:48 | 4 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2344:13:2344:13 | _ | | {EXTERNAL LOCATION} | () | -| main.rs:2344:17:2347:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2344:28:2344:34 | matrix1 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2344:28:2344:34 | matrix1 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2344:36:2347:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2345:13:2346:13 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2345:29:2346:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2349:17:2349:20 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2349:17:2349:20 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2349:17:2349:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2349:17:2349:20 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2349:17:2349:20 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2349:17:2349:20 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2349:17:2349:20 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2349:24:2349:55 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2349:24:2349:55 | ...::new(...) | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2349:24:2349:55 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2349:24:2349:55 | ...::new(...) | V | {EXTERNAL LOCATION} | Box | -| main.rs:2349:24:2349:55 | ...::new(...) | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2349:24:2349:55 | ...::new(...) | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2349:24:2349:55 | ...::new(...) | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2350:9:2350:12 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2350:9:2350:12 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2350:9:2350:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2350:9:2350:12 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2350:9:2350:12 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2350:9:2350:12 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2350:9:2350:12 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2350:9:2350:39 | map1.insert(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2350:9:2350:39 | map1.insert(...) | T | {EXTERNAL LOCATION} | Box | -| main.rs:2350:9:2350:39 | map1.insert(...) | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2350:9:2350:39 | map1.insert(...) | T.T | {EXTERNAL LOCATION} | & | -| main.rs:2350:9:2350:39 | map1.insert(...) | T.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2350:21:2350:21 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2350:24:2350:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2350:24:2350:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2350:24:2350:38 | ...::new(...) | T | {EXTERNAL LOCATION} | & | -| main.rs:2350:24:2350:38 | ...::new(...) | T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2350:33:2350:37 | "one" | | {EXTERNAL LOCATION} | & | -| main.rs:2350:33:2350:37 | "one" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2351:9:2351:12 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2351:9:2351:12 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2351:9:2351:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2351:9:2351:12 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2351:9:2351:12 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2351:9:2351:12 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2351:9:2351:12 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2351:9:2351:39 | map1.insert(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2351:9:2351:39 | map1.insert(...) | T | {EXTERNAL LOCATION} | Box | -| main.rs:2351:9:2351:39 | map1.insert(...) | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2351:9:2351:39 | map1.insert(...) | T.T | {EXTERNAL LOCATION} | & | -| main.rs:2351:9:2351:39 | map1.insert(...) | T.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2351:21:2351:21 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2351:24:2351:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2351:24:2351:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2351:24:2351:38 | ...::new(...) | T | {EXTERNAL LOCATION} | & | -| main.rs:2351:24:2351:38 | ...::new(...) | T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2351:33:2351:37 | "two" | | {EXTERNAL LOCATION} | & | -| main.rs:2351:33:2351:37 | "two" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2352:9:2352:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2352:13:2352:15 | key | | {EXTERNAL LOCATION} | & | -| main.rs:2352:13:2352:15 | key | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2352:20:2352:23 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2352:20:2352:23 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2352:20:2352:23 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2352:20:2352:23 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2352:20:2352:23 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2352:20:2352:23 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2352:20:2352:23 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2352:20:2352:30 | map1.keys() | | {EXTERNAL LOCATION} | Keys | -| main.rs:2352:20:2352:30 | map1.keys() | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2352:20:2352:30 | map1.keys() | V | {EXTERNAL LOCATION} | Box | -| main.rs:2352:20:2352:30 | map1.keys() | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2352:20:2352:30 | map1.keys() | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2352:20:2352:30 | map1.keys() | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2352:32:2352:33 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2353:9:2353:37 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2353:13:2353:17 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2353:13:2353:17 | value | TRef | {EXTERNAL LOCATION} | Box | -| main.rs:2353:13:2353:17 | value | TRef.A | {EXTERNAL LOCATION} | Global | -| main.rs:2353:13:2353:17 | value | TRef.T | {EXTERNAL LOCATION} | & | -| main.rs:2353:13:2353:17 | value | TRef.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2353:22:2353:25 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2353:22:2353:25 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2353:22:2353:25 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2353:22:2353:25 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2353:22:2353:25 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2353:22:2353:25 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2353:22:2353:25 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2353:22:2353:34 | map1.values() | | {EXTERNAL LOCATION} | Values | -| main.rs:2353:22:2353:34 | map1.values() | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2353:22:2353:34 | map1.values() | V | {EXTERNAL LOCATION} | Box | -| main.rs:2353:22:2353:34 | map1.values() | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2353:22:2353:34 | map1.values() | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2353:22:2353:34 | map1.values() | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2353:36:2353:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2354:9:2354:42 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2354:13:2354:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2354:13:2354:24 | TuplePat | T0 | {EXTERNAL LOCATION} | & | -| main.rs:2354:13:2354:24 | TuplePat | T0.TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2354:13:2354:24 | TuplePat | T1 | {EXTERNAL LOCATION} | & | -| main.rs:2354:13:2354:24 | TuplePat | T1.TRef | {EXTERNAL LOCATION} | Box | -| main.rs:2354:13:2354:24 | TuplePat | T1.TRef.A | {EXTERNAL LOCATION} | Global | -| main.rs:2354:13:2354:24 | TuplePat | T1.TRef.T | {EXTERNAL LOCATION} | & | -| main.rs:2354:13:2354:24 | TuplePat | T1.TRef.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2354:14:2354:16 | key | | {EXTERNAL LOCATION} | & | -| main.rs:2354:14:2354:16 | key | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2354:19:2354:23 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2354:19:2354:23 | value | TRef | {EXTERNAL LOCATION} | Box | -| main.rs:2354:19:2354:23 | value | TRef.A | {EXTERNAL LOCATION} | Global | -| main.rs:2354:19:2354:23 | value | TRef.T | {EXTERNAL LOCATION} | & | -| main.rs:2354:19:2354:23 | value | TRef.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2354:29:2354:32 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2354:29:2354:32 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2354:29:2354:32 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2354:29:2354:32 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2354:29:2354:32 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2354:29:2354:32 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2354:29:2354:32 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2354:29:2354:39 | map1.iter() | | {EXTERNAL LOCATION} | Iter | -| main.rs:2354:29:2354:39 | map1.iter() | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2354:29:2354:39 | map1.iter() | V | {EXTERNAL LOCATION} | Box | -| main.rs:2354:29:2354:39 | map1.iter() | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2354:29:2354:39 | map1.iter() | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2354:29:2354:39 | map1.iter() | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2354:41:2354:42 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2355:9:2355:36 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2355:13:2355:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2355:13:2355:24 | TuplePat | T0 | {EXTERNAL LOCATION} | & | -| main.rs:2355:13:2355:24 | TuplePat | T0.TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2355:13:2355:24 | TuplePat | T1 | {EXTERNAL LOCATION} | & | -| main.rs:2355:13:2355:24 | TuplePat | T1.TRef | {EXTERNAL LOCATION} | Box | -| main.rs:2355:13:2355:24 | TuplePat | T1.TRef.A | {EXTERNAL LOCATION} | Global | -| main.rs:2355:13:2355:24 | TuplePat | T1.TRef.T | {EXTERNAL LOCATION} | & | -| main.rs:2355:13:2355:24 | TuplePat | T1.TRef.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2355:14:2355:16 | key | | {EXTERNAL LOCATION} | & | -| main.rs:2355:14:2355:16 | key | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2355:19:2355:23 | value | | {EXTERNAL LOCATION} | & | -| main.rs:2355:19:2355:23 | value | TRef | {EXTERNAL LOCATION} | Box | -| main.rs:2355:19:2355:23 | value | TRef.A | {EXTERNAL LOCATION} | Global | -| main.rs:2355:19:2355:23 | value | TRef.T | {EXTERNAL LOCATION} | & | -| main.rs:2355:19:2355:23 | value | TRef.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2355:29:2355:33 | &map1 | | {EXTERNAL LOCATION} | & | -| main.rs:2355:29:2355:33 | &map1 | TRef | {EXTERNAL LOCATION} | HashMap | -| main.rs:2355:29:2355:33 | &map1 | TRef.K | {EXTERNAL LOCATION} | i32 | -| main.rs:2355:29:2355:33 | &map1 | TRef.S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2355:29:2355:33 | &map1 | TRef.V | {EXTERNAL LOCATION} | Box | -| main.rs:2355:29:2355:33 | &map1 | TRef.V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2355:29:2355:33 | &map1 | TRef.V.T | {EXTERNAL LOCATION} | & | -| main.rs:2355:29:2355:33 | &map1 | TRef.V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2355:30:2355:33 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2355:30:2355:33 | map1 | K | {EXTERNAL LOCATION} | i32 | -| main.rs:2355:30:2355:33 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2355:30:2355:33 | map1 | V | {EXTERNAL LOCATION} | Box | -| main.rs:2355:30:2355:33 | map1 | V.A | {EXTERNAL LOCATION} | Global | -| main.rs:2355:30:2355:33 | map1 | V.T | {EXTERNAL LOCATION} | & | -| main.rs:2355:30:2355:33 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | -| main.rs:2355:35:2355:36 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2359:17:2359:17 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2359:26:2359:26 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2359:26:2359:26 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2325:9:2325:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2325:13:2325:13 | u | | {EXTERNAL LOCATION} | Range | +| main.rs:2325:13:2325:13 | u | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2325:13:2325:13 | u | Idx | {EXTERNAL LOCATION} | u8 | +| main.rs:2325:18:2325:26 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2325:18:2325:26 | [...] | TArray | {EXTERNAL LOCATION} | Range | +| main.rs:2325:18:2325:26 | [...] | TArray.Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2325:18:2325:26 | [...] | TArray.Idx | {EXTERNAL LOCATION} | u8 | +| main.rs:2325:19:2325:21 | 0u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2325:19:2325:25 | 0u8..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2325:19:2325:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2325:19:2325:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | u8 | +| main.rs:2325:24:2325:25 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2325:24:2325:25 | 10 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2325:28:2325:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2326:13:2326:17 | range | | {EXTERNAL LOCATION} | Range | +| main.rs:2326:13:2326:17 | range | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2326:21:2326:21 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2326:21:2326:25 | 0..10 | | {EXTERNAL LOCATION} | Range | +| main.rs:2326:21:2326:25 | 0..10 | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2326:24:2326:25 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2327:9:2327:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2327:13:2327:13 | i | | {EXTERNAL LOCATION} | i32 | +| main.rs:2327:18:2327:22 | range | | {EXTERNAL LOCATION} | Range | +| main.rs:2327:18:2327:22 | range | Idx | {EXTERNAL LOCATION} | i32 | +| main.rs:2327:24:2327:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2328:13:2328:22 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2328:26:2328:27 | .. | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2329:9:2329:51 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2329:18:2329:48 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2329:19:2329:36 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2329:19:2329:36 | [...] | TArray | {EXTERNAL LOCATION} | i64 | +| main.rs:2329:20:2329:23 | 1i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2329:26:2329:29 | 2i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2329:32:2329:35 | 3i64 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2329:38:2329:47 | range_full | | {EXTERNAL LOCATION} | RangeFull | +| main.rs:2329:50:2329:51 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2331:13:2331:18 | range1 | | {EXTERNAL LOCATION} | Range | +| main.rs:2331:13:2331:18 | range1 | Idx | {EXTERNAL LOCATION} | u16 | +| main.rs:2332:9:2335:9 | ...::Range {...} | | {EXTERNAL LOCATION} | Range | +| main.rs:2332:9:2335:9 | ...::Range {...} | Idx | {EXTERNAL LOCATION} | u16 | +| main.rs:2333:20:2333:23 | 0u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2334:18:2334:22 | 10u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2336:9:2336:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2336:13:2336:13 | u | | {EXTERNAL LOCATION} | u16 | +| main.rs:2336:18:2336:23 | range1 | | {EXTERNAL LOCATION} | Range | +| main.rs:2336:18:2336:23 | range1 | Idx | {EXTERNAL LOCATION} | u16 | +| main.rs:2336:25:2336:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2340:13:2340:17 | vals3 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2340:13:2340:17 | vals3 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2340:21:2340:33 | MacroExpr | | {EXTERNAL LOCATION} | Vec | +| main.rs:2340:21:2340:33 | MacroExpr | A | {EXTERNAL LOCATION} | Global | +| main.rs:2340:26:2340:26 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2340:29:2340:29 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2340:32:2340:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2341:9:2341:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2341:18:2341:22 | vals3 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2341:18:2341:22 | vals3 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2341:24:2341:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2343:13:2343:18 | vals4a | | {EXTERNAL LOCATION} | Vec | +| main.rs:2343:13:2343:18 | vals4a | A | {EXTERNAL LOCATION} | Global | +| main.rs:2343:13:2343:18 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2343:32:2343:43 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2343:32:2343:43 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2343:32:2343:43 | [...] | TArray | {EXTERNAL LOCATION} | u16 | +| main.rs:2343:32:2343:52 | ... .to_vec() | | {EXTERNAL LOCATION} | Vec | +| main.rs:2343:32:2343:52 | ... .to_vec() | A | {EXTERNAL LOCATION} | Global | +| main.rs:2343:32:2343:52 | ... .to_vec() | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2343:33:2343:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2343:39:2343:39 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2343:42:2343:42 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2344:9:2344:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2344:13:2344:13 | u | | {EXTERNAL LOCATION} | u16 | +| main.rs:2344:18:2344:23 | vals4a | | {EXTERNAL LOCATION} | Vec | +| main.rs:2344:18:2344:23 | vals4a | A | {EXTERNAL LOCATION} | Global | +| main.rs:2344:18:2344:23 | vals4a | T | {EXTERNAL LOCATION} | u16 | +| main.rs:2344:25:2344:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2346:22:2346:33 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2346:22:2346:33 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2346:22:2346:33 | [...] | TArray | {EXTERNAL LOCATION} | u16 | +| main.rs:2346:23:2346:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | +| main.rs:2346:29:2346:29 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2346:32:2346:32 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2347:9:2347:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2347:25:2347:26 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2349:13:2349:17 | vals5 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2349:13:2349:17 | vals5 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2349:13:2349:17 | vals5 | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2349:13:2349:17 | vals5 | T | {EXTERNAL LOCATION} | u32 | +| main.rs:2349:21:2349:43 | ...::from(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2349:21:2349:43 | ...::from(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2349:21:2349:43 | ...::from(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2349:21:2349:43 | ...::from(...) | T | {EXTERNAL LOCATION} | u32 | +| main.rs:2349:31:2349:42 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2349:31:2349:42 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2349:31:2349:42 | [...] | TArray | {EXTERNAL LOCATION} | u32 | +| main.rs:2349:32:2349:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | +| main.rs:2349:38:2349:38 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2349:41:2349:41 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2350:9:2350:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2350:13:2350:13 | u | | {EXTERNAL LOCATION} | i32 | +| main.rs:2350:13:2350:13 | u | | {EXTERNAL LOCATION} | u32 | +| main.rs:2350:18:2350:22 | vals5 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2350:18:2350:22 | vals5 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2350:18:2350:22 | vals5 | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2350:18:2350:22 | vals5 | T | {EXTERNAL LOCATION} | u32 | +| main.rs:2350:24:2350:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2352:13:2352:17 | vals6 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2352:13:2352:17 | vals6 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2352:13:2352:17 | vals6 | T | {EXTERNAL LOCATION} | & | +| main.rs:2352:13:2352:17 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2352:32:2352:43 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2352:32:2352:43 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2352:32:2352:43 | [...] | TArray | {EXTERNAL LOCATION} | u64 | +| main.rs:2352:32:2352:60 | ... .collect() | | {EXTERNAL LOCATION} | Vec | +| main.rs:2352:32:2352:60 | ... .collect() | A | {EXTERNAL LOCATION} | Global | +| main.rs:2352:32:2352:60 | ... .collect() | T | {EXTERNAL LOCATION} | & | +| main.rs:2352:32:2352:60 | ... .collect() | T.TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2352:33:2352:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | +| main.rs:2352:39:2352:39 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2352:42:2352:42 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2353:9:2353:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2353:13:2353:13 | u | | {EXTERNAL LOCATION} | & | +| main.rs:2353:13:2353:13 | u | TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2353:18:2353:22 | vals6 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2353:18:2353:22 | vals6 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2353:18:2353:22 | vals6 | T | {EXTERNAL LOCATION} | & | +| main.rs:2353:18:2353:22 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | +| main.rs:2353:24:2353:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2355:17:2355:21 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2355:17:2355:21 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2355:17:2355:21 | vals7 | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2355:25:2355:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2355:25:2355:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2355:25:2355:34 | ...::new(...) | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2356:9:2356:13 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2356:9:2356:13 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2356:9:2356:13 | vals7 | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2356:9:2356:23 | vals7.push(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2356:20:2356:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | +| main.rs:2357:9:2357:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2357:13:2357:13 | u | | {EXTERNAL LOCATION} | u8 | +| main.rs:2357:18:2357:22 | vals7 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2357:18:2357:22 | vals7 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2357:18:2357:22 | vals7 | T | {EXTERNAL LOCATION} | u8 | +| main.rs:2357:24:2357:25 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2359:13:2359:19 | matrix1 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2359:13:2359:19 | matrix1 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2359:23:2359:50 | MacroExpr | | {EXTERNAL LOCATION} | Vec | +| main.rs:2359:23:2359:50 | MacroExpr | A | {EXTERNAL LOCATION} | Global | +| main.rs:2359:28:2359:37 | (...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2359:28:2359:37 | (...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2359:28:2359:37 | MacroExpr | | {EXTERNAL LOCATION} | Vec | +| main.rs:2359:28:2359:37 | MacroExpr | A | {EXTERNAL LOCATION} | Global | +| main.rs:2359:33:2359:33 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2359:36:2359:36 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2359:40:2359:49 | (...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2359:40:2359:49 | (...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2359:40:2359:49 | MacroExpr | | {EXTERNAL LOCATION} | Vec | +| main.rs:2359:40:2359:49 | MacroExpr | A | {EXTERNAL LOCATION} | Global | +| main.rs:2359:45:2359:45 | 3 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2359:48:2359:48 | 4 | | {EXTERNAL LOCATION} | i32 | | main.rs:2361:13:2361:13 | _ | | {EXTERNAL LOCATION} | () | -| main.rs:2361:17:2364:9 | while ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2361:23:2361:23 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2361:23:2361:28 | ... < ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2361:27:2361:28 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2362:9:2364:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2363:13:2363:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2363:13:2363:18 | ... += ... | | {EXTERNAL LOCATION} | () | -| main.rs:2363:18:2363:18 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2375:40:2377:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:2375:40:2377:9 | { ... } | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2375:40:2377:9 | { ... } | T.T | main.rs:2374:10:2374:19 | T | -| main.rs:2376:13:2376:16 | None | | {EXTERNAL LOCATION} | Option | -| main.rs:2376:13:2376:16 | None | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2376:13:2376:16 | None | T.T | main.rs:2374:10:2374:19 | T | -| main.rs:2379:30:2381:9 | { ... } | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2379:30:2381:9 | { ... } | T | main.rs:2374:10:2374:19 | T | -| main.rs:2380:13:2380:28 | S1(...) | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2380:13:2380:28 | S1(...) | T | main.rs:2374:10:2374:19 | T | -| main.rs:2380:16:2380:27 | ...::default(...) | | main.rs:2374:10:2374:19 | T | -| main.rs:2383:19:2383:22 | SelfParam | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2383:19:2383:22 | SelfParam | T | main.rs:2374:10:2374:19 | T | -| main.rs:2383:33:2385:9 | { ... } | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2383:33:2385:9 | { ... } | T | main.rs:2374:10:2374:19 | T | -| main.rs:2384:13:2384:16 | self | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2384:13:2384:16 | self | T | main.rs:2374:10:2374:19 | T | -| main.rs:2396:15:2396:15 | x | | main.rs:2396:12:2396:12 | T | -| main.rs:2396:26:2398:5 | { ... } | | main.rs:2396:12:2396:12 | T | -| main.rs:2397:9:2397:9 | x | | main.rs:2396:12:2396:12 | T | -| main.rs:2400:16:2422:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2401:13:2401:14 | x1 | | {EXTERNAL LOCATION} | Option | -| main.rs:2401:13:2401:14 | x1 | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2401:13:2401:14 | x1 | T.T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2401:34:2401:48 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2401:34:2401:48 | ...::assoc_fun(...) | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2401:34:2401:48 | ...::assoc_fun(...) | T.T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2402:13:2402:14 | x2 | | {EXTERNAL LOCATION} | Option | -| main.rs:2402:13:2402:14 | x2 | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2402:13:2402:14 | x2 | T.T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2402:18:2402:38 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2402:18:2402:38 | ...::assoc_fun(...) | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2402:18:2402:38 | ...::assoc_fun(...) | T.T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2403:13:2403:14 | x3 | | {EXTERNAL LOCATION} | Option | -| main.rs:2403:13:2403:14 | x3 | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2403:13:2403:14 | x3 | T.T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2403:18:2403:32 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2403:18:2403:32 | ...::assoc_fun(...) | T | main.rs:2369:5:2369:20 | S1 | -| main.rs:2403:18:2403:32 | ...::assoc_fun(...) | T.T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2404:13:2404:14 | x4 | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2404:13:2404:14 | x4 | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2404:18:2404:48 | ...::method(...) | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2404:18:2404:48 | ...::method(...) | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2404:35:2404:47 | ...::default(...) | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2404:35:2404:47 | ...::default(...) | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2405:13:2405:14 | x5 | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2405:13:2405:14 | x5 | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2405:18:2405:42 | ...::method(...) | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2405:18:2405:42 | ...::method(...) | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2405:29:2405:41 | ...::default(...) | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2405:29:2405:41 | ...::default(...) | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2406:13:2406:14 | x6 | | main.rs:2390:5:2390:27 | S4 | -| main.rs:2406:13:2406:14 | x6 | T4 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2406:18:2406:45 | S4::<...>(...) | | main.rs:2390:5:2390:27 | S4 | -| main.rs:2406:18:2406:45 | S4::<...>(...) | T4 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2406:27:2406:44 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | -| main.rs:2407:13:2407:14 | x7 | | main.rs:2390:5:2390:27 | S4 | -| main.rs:2407:13:2407:14 | x7 | T4 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2407:18:2407:23 | S4(...) | | main.rs:2390:5:2390:27 | S4 | -| main.rs:2407:18:2407:23 | S4(...) | T4 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2407:21:2407:22 | S2 | | main.rs:2371:5:2372:14 | S2 | -| main.rs:2408:13:2408:14 | x8 | | main.rs:2390:5:2390:27 | S4 | -| main.rs:2408:13:2408:14 | x8 | T4 | {EXTERNAL LOCATION} | i32 | -| main.rs:2408:18:2408:22 | S4(...) | | main.rs:2390:5:2390:27 | S4 | -| main.rs:2408:18:2408:22 | S4(...) | T4 | {EXTERNAL LOCATION} | i32 | -| main.rs:2408:21:2408:21 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2409:13:2409:14 | x9 | | main.rs:2390:5:2390:27 | S4 | -| main.rs:2409:13:2409:14 | x9 | T4 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2409:18:2409:34 | S4(...) | | main.rs:2390:5:2390:27 | S4 | -| main.rs:2409:18:2409:34 | S4(...) | T4 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2409:21:2409:33 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | -| main.rs:2410:13:2410:15 | x10 | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2410:13:2410:15 | x10 | T5 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2410:19:2413:9 | S5::<...> {...} | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2410:19:2413:9 | S5::<...> {...} | T5 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2412:20:2412:37 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | -| main.rs:2414:13:2414:15 | x11 | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2414:13:2414:15 | x11 | T5 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2414:19:2414:34 | S5 {...} | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2414:19:2414:34 | S5 {...} | T5 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2414:31:2414:32 | S2 | | main.rs:2371:5:2372:14 | S2 | -| main.rs:2415:13:2415:15 | x12 | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2415:13:2415:15 | x12 | T5 | {EXTERNAL LOCATION} | i32 | -| main.rs:2415:19:2415:33 | S5 {...} | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2415:19:2415:33 | S5 {...} | T5 | {EXTERNAL LOCATION} | i32 | -| main.rs:2415:31:2415:31 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2416:13:2416:15 | x13 | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2416:13:2416:15 | x13 | T5 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2416:19:2419:9 | S5 {...} | | main.rs:2392:5:2394:5 | S5 | -| main.rs:2416:19:2419:9 | S5 {...} | T5 | main.rs:2371:5:2372:14 | S2 | -| main.rs:2418:20:2418:32 | ...::default(...) | | main.rs:2371:5:2372:14 | S2 | -| main.rs:2420:13:2420:15 | x14 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2420:19:2420:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:2420:30:2420:47 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:2421:13:2421:15 | x15 | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2421:13:2421:15 | x15 | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2421:19:2421:37 | ...::default(...) | | main.rs:2369:5:2369:20 | S1 | -| main.rs:2421:19:2421:37 | ...::default(...) | T | main.rs:2371:5:2372:14 | S2 | -| main.rs:2430:35:2432:9 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2430:35:2432:9 | { ... } | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2430:35:2432:9 | { ... } | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2431:13:2431:26 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2431:13:2431:26 | TupleExpr | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2431:13:2431:26 | TupleExpr | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2431:14:2431:18 | S1 {...} | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2431:21:2431:25 | S1 {...} | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2433:16:2433:19 | SelfParam | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2433:22:2433:23 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2436:16:2470:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2437:13:2437:13 | a | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2437:13:2437:13 | a | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2437:13:2437:13 | a | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2437:17:2437:30 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2437:17:2437:30 | ...::get_pair(...) | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2437:17:2437:30 | ...::get_pair(...) | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2438:17:2438:17 | b | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2438:17:2438:17 | b | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2438:17:2438:17 | b | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2438:21:2438:34 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2438:21:2438:34 | ...::get_pair(...) | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2438:21:2438:34 | ...::get_pair(...) | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2439:13:2439:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2439:13:2439:18 | TuplePat | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2439:13:2439:18 | TuplePat | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2439:14:2439:14 | c | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2439:17:2439:17 | d | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2439:22:2439:35 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2439:22:2439:35 | ...::get_pair(...) | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2439:22:2439:35 | ...::get_pair(...) | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2440:13:2440:22 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2440:13:2440:22 | TuplePat | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2440:13:2440:22 | TuplePat | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2440:18:2440:18 | e | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2440:21:2440:21 | f | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2440:26:2440:39 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2440:26:2440:39 | ...::get_pair(...) | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2440:26:2440:39 | ...::get_pair(...) | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2441:13:2441:26 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2441:13:2441:26 | TuplePat | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2441:13:2441:26 | TuplePat | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2441:18:2441:18 | g | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2441:25:2441:25 | h | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2441:30:2441:43 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2441:30:2441:43 | ...::get_pair(...) | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2441:30:2441:43 | ...::get_pair(...) | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2443:9:2443:9 | a | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2443:9:2443:9 | a | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2443:9:2443:9 | a | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2443:9:2443:11 | a.0 | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2443:9:2443:17 | ... .foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2444:9:2444:9 | b | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2444:9:2444:9 | b | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2444:9:2444:9 | b | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2444:9:2444:11 | b.1 | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2444:9:2444:17 | ... .foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2445:9:2445:9 | c | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2445:9:2445:15 | c.foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2446:9:2446:9 | d | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2446:9:2446:15 | d.foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2447:9:2447:9 | e | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2447:9:2447:15 | e.foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2448:9:2448:9 | f | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2448:9:2448:15 | f.foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2449:9:2449:9 | g | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2449:9:2449:15 | g.foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2450:9:2450:9 | h | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2450:9:2450:15 | h.foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2455:13:2455:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2455:17:2455:34 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2456:13:2456:13 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2456:17:2456:34 | ...::default(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2457:13:2457:16 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2457:13:2457:16 | pair | T0 | {EXTERNAL LOCATION} | i64 | -| main.rs:2457:13:2457:16 | pair | T1 | {EXTERNAL LOCATION} | bool | -| main.rs:2457:20:2457:25 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2457:20:2457:25 | TupleExpr | T0 | {EXTERNAL LOCATION} | i64 | -| main.rs:2457:20:2457:25 | TupleExpr | T1 | {EXTERNAL LOCATION} | bool | -| main.rs:2457:21:2457:21 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2457:24:2457:24 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2458:13:2458:13 | i | | {EXTERNAL LOCATION} | i64 | -| main.rs:2458:22:2458:25 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2458:22:2458:25 | pair | T0 | {EXTERNAL LOCATION} | i64 | -| main.rs:2458:22:2458:25 | pair | T1 | {EXTERNAL LOCATION} | bool | -| main.rs:2458:22:2458:27 | pair.0 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2459:13:2459:13 | j | | {EXTERNAL LOCATION} | bool | -| main.rs:2459:23:2459:26 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2459:23:2459:26 | pair | T0 | {EXTERNAL LOCATION} | i64 | -| main.rs:2459:23:2459:26 | pair | T1 | {EXTERNAL LOCATION} | bool | -| main.rs:2459:23:2459:28 | pair.1 | | {EXTERNAL LOCATION} | bool | -| main.rs:2461:13:2461:16 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2461:13:2461:16 | pair | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2461:13:2461:16 | pair | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2461:20:2461:25 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2461:20:2461:25 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2461:20:2461:32 | ... .into() | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2461:20:2461:32 | ... .into() | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2461:20:2461:32 | ... .into() | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2461:21:2461:21 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2461:24:2461:24 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2462:9:2465:9 | match pair { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2462:15:2462:18 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2462:15:2462:18 | pair | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2462:15:2462:18 | pair | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2463:13:2463:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2463:13:2463:18 | TuplePat | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2463:13:2463:18 | TuplePat | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2463:14:2463:14 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2463:17:2463:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2463:23:2463:42 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:2463:30:2463:41 | "unexpected" | | {EXTERNAL LOCATION} | & | -| main.rs:2463:30:2463:41 | "unexpected" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2463:30:2463:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2463:30:2463:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2464:13:2464:13 | _ | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2464:13:2464:13 | _ | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2464:13:2464:13 | _ | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2464:18:2464:35 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:2464:25:2464:34 | "expected" | | {EXTERNAL LOCATION} | & | -| main.rs:2464:25:2464:34 | "expected" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2464:25:2464:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2464:25:2464:34 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2466:13:2466:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2466:17:2466:20 | pair | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2466:17:2466:20 | pair | T0 | {EXTERNAL LOCATION} | i32 | -| main.rs:2466:17:2466:20 | pair | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2466:17:2466:22 | pair.0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2468:13:2468:13 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2468:13:2468:13 | y | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2468:13:2468:13 | y | TRef.T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2468:13:2468:13 | y | TRef.T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2468:17:2468:31 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2468:17:2468:31 | &... | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2468:17:2468:31 | &... | TRef.T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2468:17:2468:31 | &... | TRef.T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2468:18:2468:31 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2468:18:2468:31 | ...::get_pair(...) | T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2468:18:2468:31 | ...::get_pair(...) | T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2469:9:2469:9 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2469:9:2469:9 | y | TRef | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2469:9:2469:9 | y | TRef.T0 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2469:9:2469:9 | y | TRef.T1 | main.rs:2426:5:2427:16 | S1 | -| main.rs:2469:9:2469:11 | y.0 | | main.rs:2426:5:2427:16 | S1 | -| main.rs:2469:9:2469:17 | ... .foo() | | {EXTERNAL LOCATION} | () | -| main.rs:2475:27:2497:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2476:13:2476:23 | boxed_value | | {EXTERNAL LOCATION} | Box | -| main.rs:2476:13:2476:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | -| main.rs:2476:13:2476:23 | boxed_value | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2476:27:2476:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2476:27:2476:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2476:27:2476:42 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2476:36:2476:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2479:9:2487:9 | match boxed_value { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2479:15:2479:25 | boxed_value | | {EXTERNAL LOCATION} | Box | -| main.rs:2479:15:2479:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | -| main.rs:2479:15:2479:25 | boxed_value | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2480:13:2480:19 | box 100 | | {EXTERNAL LOCATION} | Box | -| main.rs:2480:13:2480:19 | box 100 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2480:13:2480:19 | box 100 | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2480:17:2480:19 | 100 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2480:24:2482:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2481:17:2481:37 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:2481:26:2481:36 | "Boxed 100\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2481:26:2481:36 | "Boxed 100\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2481:26:2481:36 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2481:26:2481:36 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2481:26:2481:36 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2483:13:2483:17 | box ... | | {EXTERNAL LOCATION} | Box | -| main.rs:2483:13:2483:17 | box ... | A | {EXTERNAL LOCATION} | Global | -| main.rs:2483:13:2483:17 | box ... | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2483:22:2486:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2485:17:2485:52 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:2485:26:2485:42 | "Boxed value: {}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2485:26:2485:42 | "Boxed value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2485:26:2485:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2485:26:2485:51 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2485:26:2485:51 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2490:13:2490:22 | nested_box | | {EXTERNAL LOCATION} | Box | -| main.rs:2490:13:2490:22 | nested_box | A | {EXTERNAL LOCATION} | Global | -| main.rs:2490:13:2490:22 | nested_box | T | {EXTERNAL LOCATION} | Box | -| main.rs:2490:13:2490:22 | nested_box | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2490:13:2490:22 | nested_box | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2490:26:2490:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2490:26:2490:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2490:26:2490:50 | ...::new(...) | T | {EXTERNAL LOCATION} | Box | -| main.rs:2490:26:2490:50 | ...::new(...) | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2490:26:2490:50 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2490:35:2490:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2490:35:2490:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2490:35:2490:49 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2490:44:2490:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2491:9:2496:9 | match nested_box { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2491:15:2491:24 | nested_box | | {EXTERNAL LOCATION} | Box | -| main.rs:2491:15:2491:24 | nested_box | A | {EXTERNAL LOCATION} | Global | -| main.rs:2491:15:2491:24 | nested_box | T | {EXTERNAL LOCATION} | Box | -| main.rs:2491:15:2491:24 | nested_box | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2491:15:2491:24 | nested_box | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2492:13:2492:21 | box ... | | {EXTERNAL LOCATION} | Box | -| main.rs:2492:13:2492:21 | box ... | A | {EXTERNAL LOCATION} | Global | -| main.rs:2492:13:2492:21 | box ... | T | {EXTERNAL LOCATION} | Box | -| main.rs:2492:13:2492:21 | box ... | T.A | {EXTERNAL LOCATION} | Global | -| main.rs:2492:13:2492:21 | box ... | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2492:26:2495:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2494:17:2494:60 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:2494:26:2494:43 | "Nested boxed: {}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2494:26:2494:43 | "Nested boxed: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2494:26:2494:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2494:26:2494:59 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2494:26:2494:59 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2506:36:2508:9 | { ... } | | main.rs:2503:5:2503:22 | Path | -| main.rs:2507:13:2507:19 | Path {...} | | main.rs:2503:5:2503:22 | Path | -| main.rs:2510:29:2510:33 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2510:29:2510:33 | SelfParam | TRef | main.rs:2503:5:2503:22 | Path | -| main.rs:2510:59:2512:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:2510:59:2512:9 | { ... } | E | {EXTERNAL LOCATION} | () | -| main.rs:2510:59:2512:9 | { ... } | T | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2511:13:2511:30 | Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:2511:13:2511:30 | Ok(...) | E | {EXTERNAL LOCATION} | () | -| main.rs:2511:13:2511:30 | Ok(...) | T | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2511:16:2511:29 | ...::new(...) | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2518:39:2520:9 | { ... } | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2519:13:2519:22 | PathBuf {...} | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2528:18:2528:22 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2528:18:2528:22 | SelfParam | TRef | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2528:34:2532:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2528:34:2532:9 | { ... } | TRef | main.rs:2503:5:2503:22 | Path | -| main.rs:2530:33:2530:43 | ...::new(...) | | main.rs:2503:5:2503:22 | Path | -| main.rs:2531:13:2531:17 | &path | | {EXTERNAL LOCATION} | & | -| main.rs:2531:13:2531:17 | &path | TRef | main.rs:2503:5:2503:22 | Path | -| main.rs:2531:14:2531:17 | path | | main.rs:2503:5:2503:22 | Path | -| main.rs:2535:16:2543:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2536:13:2536:17 | path1 | | main.rs:2503:5:2503:22 | Path | -| main.rs:2536:21:2536:31 | ...::new(...) | | main.rs:2503:5:2503:22 | Path | -| main.rs:2537:13:2537:17 | path2 | | {EXTERNAL LOCATION} | Result | -| main.rs:2537:13:2537:17 | path2 | E | {EXTERNAL LOCATION} | () | -| main.rs:2537:13:2537:17 | path2 | T | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2537:21:2537:25 | path1 | | main.rs:2503:5:2503:22 | Path | -| main.rs:2537:21:2537:40 | path1.canonicalize() | | {EXTERNAL LOCATION} | Result | -| main.rs:2537:21:2537:40 | path1.canonicalize() | E | {EXTERNAL LOCATION} | () | -| main.rs:2537:21:2537:40 | path1.canonicalize() | T | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2538:13:2538:17 | path3 | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2538:21:2538:25 | path2 | | {EXTERNAL LOCATION} | Result | -| main.rs:2538:21:2538:25 | path2 | E | {EXTERNAL LOCATION} | () | -| main.rs:2538:21:2538:25 | path2 | T | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2538:21:2538:34 | path2.unwrap() | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2540:13:2540:20 | pathbuf1 | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2540:24:2540:37 | ...::new(...) | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2541:13:2541:20 | pathbuf2 | | {EXTERNAL LOCATION} | Result | -| main.rs:2541:13:2541:20 | pathbuf2 | E | {EXTERNAL LOCATION} | () | -| main.rs:2541:13:2541:20 | pathbuf2 | T | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2541:24:2541:31 | pathbuf1 | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2541:24:2541:46 | pathbuf1.canonicalize() | | {EXTERNAL LOCATION} | Result | -| main.rs:2541:24:2541:46 | pathbuf1.canonicalize() | E | {EXTERNAL LOCATION} | () | -| main.rs:2541:24:2541:46 | pathbuf1.canonicalize() | T | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2542:13:2542:20 | pathbuf3 | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2542:24:2542:31 | pathbuf2 | | {EXTERNAL LOCATION} | Result | -| main.rs:2542:24:2542:31 | pathbuf2 | E | {EXTERNAL LOCATION} | () | -| main.rs:2542:24:2542:31 | pathbuf2 | T | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2542:24:2542:40 | pathbuf2.unwrap() | | main.rs:2515:5:2515:25 | PathBuf | -| main.rs:2548:14:2548:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2548:14:2548:18 | SelfParam | TRef | main.rs:2547:5:2549:5 | Self [trait MyTrait] | -| main.rs:2555:14:2555:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2555:14:2555:18 | SelfParam | TRef | main.rs:2551:5:2552:19 | S | -| main.rs:2555:14:2555:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2555:28:2557:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2556:13:2556:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2556:13:2556:16 | self | TRef | main.rs:2551:5:2552:19 | S | -| main.rs:2556:13:2556:16 | self | TRef.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2556:13:2556:18 | self.0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2561:14:2561:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2561:14:2561:18 | SelfParam | TRef | main.rs:2551:5:2552:19 | S | -| main.rs:2561:14:2561:18 | SelfParam | TRef.T | main.rs:2551:5:2552:19 | S | -| main.rs:2561:14:2561:18 | SelfParam | TRef.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2561:28:2563:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2562:13:2562:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2562:13:2562:16 | self | TRef | main.rs:2551:5:2552:19 | S | -| main.rs:2562:13:2562:16 | self | TRef.T | main.rs:2551:5:2552:19 | S | -| main.rs:2562:13:2562:16 | self | TRef.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2562:13:2562:18 | self.0 | | main.rs:2551:5:2552:19 | S | -| main.rs:2562:13:2562:18 | self.0 | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2562:13:2562:21 | ... .0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2567:15:2567:19 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2567:15:2567:19 | SelfParam | TRef | main.rs:2551:5:2552:19 | S | -| main.rs:2567:15:2567:19 | SelfParam | TRef.T | main.rs:2566:10:2566:16 | T | -| main.rs:2567:33:2569:9 | { ... } | | main.rs:2551:5:2552:19 | S | -| main.rs:2567:33:2569:9 | { ... } | T | main.rs:2551:5:2552:19 | S | -| main.rs:2567:33:2569:9 | { ... } | T.T | main.rs:2566:10:2566:16 | T | -| main.rs:2568:13:2568:24 | S(...) | | main.rs:2551:5:2552:19 | S | -| main.rs:2568:13:2568:24 | S(...) | T | main.rs:2551:5:2552:19 | S | -| main.rs:2568:13:2568:24 | S(...) | T.T | main.rs:2566:10:2566:16 | T | -| main.rs:2568:15:2568:23 | S(...) | | main.rs:2551:5:2552:19 | S | -| main.rs:2568:15:2568:23 | S(...) | T | main.rs:2566:10:2566:16 | T | -| main.rs:2568:17:2568:20 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2568:17:2568:20 | self | TRef | main.rs:2551:5:2552:19 | S | -| main.rs:2568:17:2568:20 | self | TRef.T | main.rs:2566:10:2566:16 | T | -| main.rs:2568:17:2568:22 | self.0 | | main.rs:2566:10:2566:16 | T | -| main.rs:2572:14:2572:14 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2572:48:2589:5 | { ... } | | {EXTERNAL LOCATION} | Box | -| main.rs:2572:48:2589:5 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2572:48:2589:5 | { ... } | T | main.rs:2547:5:2549:5 | dyn MyTrait | -| main.rs:2572:48:2589:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2573:13:2573:13 | x | | main.rs:2551:5:2552:19 | S | -| main.rs:2573:13:2573:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2573:17:2578:9 | if b {...} else {...} | | main.rs:2551:5:2552:19 | S | -| main.rs:2573:17:2578:9 | if b {...} else {...} | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2573:20:2573:20 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2573:22:2576:9 | { ... } | | main.rs:2551:5:2552:19 | S | -| main.rs:2573:22:2576:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2574:17:2574:17 | y | | main.rs:2551:5:2552:19 | S | -| main.rs:2574:17:2574:17 | y | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2574:21:2574:38 | ...::default(...) | | main.rs:2551:5:2552:19 | S | -| main.rs:2574:21:2574:38 | ...::default(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2575:13:2575:13 | y | | main.rs:2551:5:2552:19 | S | -| main.rs:2575:13:2575:13 | y | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2576:16:2578:9 | { ... } | | main.rs:2551:5:2552:19 | S | -| main.rs:2576:16:2578:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2577:13:2577:16 | S(...) | | main.rs:2551:5:2552:19 | S | -| main.rs:2577:13:2577:16 | S(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2577:15:2577:15 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2582:13:2582:13 | x | | main.rs:2551:5:2552:19 | S | -| main.rs:2582:13:2582:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2582:17:2582:20 | S(...) | | main.rs:2551:5:2552:19 | S | -| main.rs:2582:17:2582:20 | S(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2582:19:2582:19 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2583:9:2588:9 | if b {...} else {...} | | {EXTERNAL LOCATION} | Box | -| main.rs:2583:9:2588:9 | if b {...} else {...} | A | {EXTERNAL LOCATION} | Global | -| main.rs:2583:9:2588:9 | if b {...} else {...} | T | main.rs:2547:5:2549:5 | dyn MyTrait | -| main.rs:2583:9:2588:9 | if b {...} else {...} | T | main.rs:2551:5:2552:19 | S | -| main.rs:2583:9:2588:9 | if b {...} else {...} | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2583:9:2588:9 | if b {...} else {...} | T.T | main.rs:2551:5:2552:19 | S | -| main.rs:2583:9:2588:9 | if b {...} else {...} | T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2583:9:2588:9 | if b {...} else {...} | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2583:12:2583:12 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2583:14:2586:9 | { ... } | | {EXTERNAL LOCATION} | Box | -| main.rs:2583:14:2586:9 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2583:14:2586:9 | { ... } | T | main.rs:2547:5:2549:5 | dyn MyTrait | -| main.rs:2583:14:2586:9 | { ... } | T | main.rs:2551:5:2552:19 | S | -| main.rs:2583:14:2586:9 | { ... } | T.T | main.rs:2551:5:2552:19 | S | -| main.rs:2583:14:2586:9 | { ... } | T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2583:14:2586:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2584:17:2584:17 | x | | main.rs:2551:5:2552:19 | S | -| main.rs:2584:17:2584:17 | x | T | main.rs:2551:5:2552:19 | S | -| main.rs:2584:17:2584:17 | x | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2584:21:2584:21 | x | | main.rs:2551:5:2552:19 | S | -| main.rs:2584:21:2584:21 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2584:21:2584:26 | x.m2() | | main.rs:2551:5:2552:19 | S | -| main.rs:2584:21:2584:26 | x.m2() | T | main.rs:2551:5:2552:19 | S | -| main.rs:2584:21:2584:26 | x.m2() | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2585:13:2585:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2585:13:2585:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2585:13:2585:23 | ...::new(...) | T | main.rs:2547:5:2549:5 | dyn MyTrait | -| main.rs:2585:13:2585:23 | ...::new(...) | T | main.rs:2551:5:2552:19 | S | -| main.rs:2585:13:2585:23 | ...::new(...) | T.T | main.rs:2551:5:2552:19 | S | -| main.rs:2585:13:2585:23 | ...::new(...) | T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2585:13:2585:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2585:22:2585:22 | x | | main.rs:2551:5:2552:19 | S | -| main.rs:2585:22:2585:22 | x | T | main.rs:2551:5:2552:19 | S | -| main.rs:2585:22:2585:22 | x | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2586:16:2588:9 | { ... } | | {EXTERNAL LOCATION} | Box | -| main.rs:2586:16:2588:9 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2586:16:2588:9 | { ... } | T | main.rs:2547:5:2549:5 | dyn MyTrait | -| main.rs:2586:16:2588:9 | { ... } | T | main.rs:2551:5:2552:19 | S | -| main.rs:2586:16:2588:9 | { ... } | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2586:16:2588:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2587:13:2587:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2587:13:2587:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2587:13:2587:23 | ...::new(...) | T | main.rs:2547:5:2549:5 | dyn MyTrait | -| main.rs:2587:13:2587:23 | ...::new(...) | T | main.rs:2551:5:2552:19 | S | -| main.rs:2587:13:2587:23 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2587:13:2587:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2587:22:2587:22 | x | | main.rs:2551:5:2552:19 | S | -| main.rs:2587:22:2587:22 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2593:22:2597:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2594:18:2594:18 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2594:33:2596:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2595:13:2595:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2595:13:2595:17 | ... + ... | | {EXTERNAL LOCATION} | i32 | -| main.rs:2595:17:2595:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2602:11:2602:14 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2602:30:2610:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2604:13:2604:13 | a | | {EXTERNAL LOCATION} | () | -| main.rs:2604:17:2608:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2605:13:2607:13 | if cond {...} | | {EXTERNAL LOCATION} | () | -| main.rs:2605:16:2605:19 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2605:21:2607:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2606:24:2606:25 | 12 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2609:9:2609:9 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2613:20:2620:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2616:26:2616:27 | 12 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2618:9:2618:30 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:2618:18:2618:26 | "b: {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2618:18:2618:26 | "b: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2618:18:2618:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2618:18:2618:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2618:18:2618:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2619:9:2619:9 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2622:20:2624:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2623:16:2623:16 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2627:11:2627:14 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2627:30:2635:5 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2628:13:2628:13 | a | | {EXTERNAL LOCATION} | () | -| main.rs:2628:17:2632:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2629:13:2631:13 | if cond {...} | | {EXTERNAL LOCATION} | () | -| main.rs:2629:16:2629:19 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2629:21:2631:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2630:24:2630:25 | 12 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2633:9:2633:30 | MacroExpr | | {EXTERNAL LOCATION} | () | -| main.rs:2633:18:2633:26 | "a: {:?}\\n" | | {EXTERNAL LOCATION} | & | -| main.rs:2633:18:2633:26 | "a: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2633:18:2633:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2633:18:2633:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2633:18:2633:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2633:29:2633:29 | a | | {EXTERNAL LOCATION} | () | -| main.rs:2634:9:2634:9 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2643:14:2643:17 | SelfParam | | main.rs:2639:5:2640:13 | S | -| main.rs:2643:20:2643:21 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2646:41:2648:5 | { ... } | | main.rs:2646:22:2646:31 | T | -| main.rs:2647:9:2647:26 | ...::default(...) | | main.rs:2646:22:2646:31 | T | -| main.rs:2650:16:2703:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2651:13:2651:13 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:2651:13:2651:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2651:17:2651:20 | None | | {EXTERNAL LOCATION} | Option | -| main.rs:2651:17:2651:20 | None | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2652:13:2652:13 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:2652:13:2652:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2652:30:2652:30 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:2652:30:2652:30 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2653:13:2653:13 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:2653:13:2653:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2653:17:2653:35 | ...::None | | {EXTERNAL LOCATION} | Option | -| main.rs:2653:17:2653:35 | ...::None | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2654:13:2654:13 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:2654:13:2654:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2654:17:2654:35 | ...::None::<...> | | {EXTERNAL LOCATION} | Option | -| main.rs:2654:17:2654:35 | ...::None::<...> | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2656:26:2656:28 | opt | | {EXTERNAL LOCATION} | Option | -| main.rs:2656:26:2656:28 | opt | T | main.rs:2656:23:2656:23 | T | -| main.rs:2656:42:2656:42 | x | | main.rs:2656:23:2656:23 | T | -| main.rs:2656:48:2656:49 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2658:13:2658:13 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:2658:13:2658:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2658:17:2658:20 | None | | {EXTERNAL LOCATION} | Option | -| main.rs:2658:17:2658:20 | None | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2659:9:2659:24 | pin_option(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2659:20:2659:20 | x | | {EXTERNAL LOCATION} | Option | -| main.rs:2659:20:2659:20 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2659:23:2659:23 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2666:13:2666:13 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2666:13:2666:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2666:13:2666:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2666:17:2666:39 | ...::A {...} | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2666:17:2666:39 | ...::A {...} | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2666:17:2666:39 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2666:37:2666:37 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2667:13:2667:13 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2667:13:2667:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2667:13:2667:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2667:40:2667:40 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2667:40:2667:40 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2667:40:2667:40 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2668:13:2668:13 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2668:13:2668:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2668:13:2668:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2668:17:2668:52 | ...::A {...} | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2668:17:2668:52 | ...::A {...} | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2668:17:2668:52 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2668:50:2668:50 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2670:13:2670:13 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2670:13:2670:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2670:13:2670:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2670:17:2672:9 | ...::B::<...> {...} | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2670:17:2672:9 | ...::B::<...> {...} | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2670:17:2672:9 | ...::B::<...> {...} | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2671:20:2671:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2674:29:2674:29 | e | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2674:29:2674:29 | e | T1 | main.rs:2674:26:2674:26 | T | -| main.rs:2674:29:2674:29 | e | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2674:53:2674:53 | x | | main.rs:2674:26:2674:26 | T | -| main.rs:2674:59:2674:60 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2677:13:2677:13 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2677:13:2677:13 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2677:13:2677:13 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2677:17:2679:9 | ...::B {...} | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2677:17:2679:9 | ...::B {...} | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2677:17:2679:9 | ...::B {...} | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2678:20:2678:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2680:9:2680:27 | pin_my_either(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2680:23:2680:23 | x | | main.rs:2661:9:2664:9 | MyEither | -| main.rs:2680:23:2680:23 | x | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2680:23:2680:23 | x | T2 | {EXTERNAL LOCATION} | String | -| main.rs:2680:26:2680:26 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2682:13:2682:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:2682:13:2682:13 | x | E | {EXTERNAL LOCATION} | String | -| main.rs:2682:13:2682:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2682:17:2682:29 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:2682:17:2682:29 | ...::Ok(...) | E | {EXTERNAL LOCATION} | String | -| main.rs:2682:17:2682:29 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2682:28:2682:28 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2683:13:2683:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:2683:13:2683:13 | x | E | {EXTERNAL LOCATION} | String | -| main.rs:2683:13:2683:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2683:38:2683:38 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:2683:38:2683:38 | x | E | {EXTERNAL LOCATION} | String | -| main.rs:2683:38:2683:38 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2684:13:2684:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:2684:13:2684:13 | x | E | {EXTERNAL LOCATION} | String | -| main.rs:2684:13:2684:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2684:17:2684:44 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:2684:17:2684:44 | ...::Ok(...) | E | {EXTERNAL LOCATION} | String | -| main.rs:2684:17:2684:44 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2684:43:2684:43 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2685:13:2685:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:2685:13:2685:13 | x | E | {EXTERNAL LOCATION} | String | -| main.rs:2685:13:2685:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2685:17:2685:44 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:2685:17:2685:44 | ...::Ok::<...>(...) | E | {EXTERNAL LOCATION} | String | -| main.rs:2685:17:2685:44 | ...::Ok::<...>(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2685:43:2685:43 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2687:29:2687:31 | res | | {EXTERNAL LOCATION} | Result | -| main.rs:2687:29:2687:31 | res | E | main.rs:2687:26:2687:26 | E | -| main.rs:2687:29:2687:31 | res | T | main.rs:2687:23:2687:23 | T | -| main.rs:2687:48:2687:48 | x | | main.rs:2687:26:2687:26 | E | -| main.rs:2687:54:2687:55 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2689:13:2689:13 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:2689:13:2689:13 | x | E | {EXTERNAL LOCATION} | bool | -| main.rs:2689:13:2689:13 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2689:17:2689:29 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:2689:17:2689:29 | ...::Ok(...) | E | {EXTERNAL LOCATION} | bool | -| main.rs:2689:17:2689:29 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2689:28:2689:28 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2690:9:2690:28 | pin_result(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2690:20:2690:20 | x | | {EXTERNAL LOCATION} | Result | -| main.rs:2690:20:2690:20 | x | E | {EXTERNAL LOCATION} | bool | -| main.rs:2690:20:2690:20 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2690:23:2690:27 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:2692:17:2692:17 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:2692:17:2692:17 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:2692:17:2692:17 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2692:21:2692:30 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2692:21:2692:30 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2692:21:2692:30 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2693:9:2693:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:2693:9:2693:9 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:2693:9:2693:9 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2693:9:2693:17 | x.push(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2693:16:2693:16 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2695:13:2695:13 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:2695:17:2695:34 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:2696:9:2696:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:2696:9:2696:9 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:2696:9:2696:9 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2696:9:2696:17 | x.push(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2696:16:2696:16 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:2698:13:2698:13 | s | | main.rs:2639:5:2640:13 | S | -| main.rs:2698:17:2698:34 | ...::default(...) | | main.rs:2639:5:2640:13 | S | -| main.rs:2699:9:2699:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2699:14:2699:14 | s | | main.rs:2639:5:2640:13 | S | -| main.rs:2701:13:2701:13 | z | | {EXTERNAL LOCATION} | i32 | -| main.rs:2701:17:2701:31 | free_function(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:2702:9:2702:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:2702:9:2702:9 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:2702:9:2702:9 | x | T | {EXTERNAL LOCATION} | i32 | -| main.rs:2702:9:2702:17 | x.push(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2702:16:2702:16 | z | | {EXTERNAL LOCATION} | i32 | -| main.rs:2709:14:2709:17 | SelfParam | | main.rs:2707:5:2715:5 | Self [trait MyTrait] | -| main.rs:2712:14:2712:18 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2712:14:2712:18 | SelfParam | TRef | main.rs:2707:5:2715:5 | Self [trait MyTrait] | -| main.rs:2712:21:2712:25 | other | | {EXTERNAL LOCATION} | & | -| main.rs:2712:21:2712:25 | other | TRef | main.rs:2707:5:2715:5 | Self [trait MyTrait] | -| main.rs:2712:44:2714:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2712:44:2714:9 | { ... } | TRef | main.rs:2707:5:2715:5 | Self [trait MyTrait] | -| main.rs:2713:13:2713:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2713:13:2713:16 | self | TRef | main.rs:2707:5:2715:5 | Self [trait MyTrait] | -| main.rs:2713:13:2713:20 | self.f() | | {EXTERNAL LOCATION} | & | -| main.rs:2713:13:2713:20 | self.f() | TRef | main.rs:2707:5:2715:5 | Self [trait MyTrait] | -| main.rs:2719:14:2719:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | -| main.rs:2719:28:2721:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2720:13:2720:16 | self | | {EXTERNAL LOCATION} | i32 | -| main.rs:2726:14:2726:17 | SelfParam | | {EXTERNAL LOCATION} | usize | -| main.rs:2726:28:2728:9 | { ... } | | {EXTERNAL LOCATION} | usize | -| main.rs:2727:13:2727:16 | self | | {EXTERNAL LOCATION} | usize | -| main.rs:2733:14:2733:17 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2733:14:2733:17 | SelfParam | TRef | main.rs:2731:10:2731:10 | T | -| main.rs:2733:28:2735:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2733:28:2735:9 | { ... } | TRef | main.rs:2731:10:2731:10 | T | -| main.rs:2734:13:2734:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2734:13:2734:16 | self | TRef | main.rs:2731:10:2731:10 | T | -| main.rs:2738:25:2742:5 | { ... } | | {EXTERNAL LOCATION} | usize | -| main.rs:2739:17:2739:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2739:17:2739:17 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:2739:21:2739:21 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2739:21:2739:21 | 0 | | {EXTERNAL LOCATION} | usize | -| main.rs:2740:9:2740:9 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2740:9:2740:9 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:2740:9:2740:17 | ... = ... | | {EXTERNAL LOCATION} | () | -| main.rs:2740:13:2740:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2740:13:2740:13 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:2740:13:2740:17 | x.f() | | {EXTERNAL LOCATION} | i32 | -| main.rs:2740:13:2740:17 | x.f() | | {EXTERNAL LOCATION} | usize | -| main.rs:2741:9:2741:9 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2741:9:2741:9 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:2744:12:2752:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2745:13:2745:13 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:2745:24:2745:24 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2745:24:2745:24 | 0 | | {EXTERNAL LOCATION} | usize | -| main.rs:2746:13:2746:13 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2746:13:2746:13 | y | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2746:17:2746:18 | &1 | | {EXTERNAL LOCATION} | & | -| main.rs:2746:17:2746:18 | &1 | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2746:18:2746:18 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2747:13:2747:13 | z | | {EXTERNAL LOCATION} | & | -| main.rs:2747:13:2747:13 | z | TRef | {EXTERNAL LOCATION} | usize | -| main.rs:2747:17:2747:17 | x | | {EXTERNAL LOCATION} | usize | -| main.rs:2747:17:2747:22 | x.g(...) | | {EXTERNAL LOCATION} | & | -| main.rs:2747:17:2747:22 | x.g(...) | TRef | {EXTERNAL LOCATION} | usize | -| main.rs:2747:21:2747:21 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2747:21:2747:21 | y | TRef | {EXTERNAL LOCATION} | i32 | -| main.rs:2749:13:2749:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2749:17:2749:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2750:13:2750:13 | y | | {EXTERNAL LOCATION} | usize | -| main.rs:2750:24:2750:24 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2750:24:2750:24 | 1 | | {EXTERNAL LOCATION} | usize | -| main.rs:2751:13:2751:13 | z | | {EXTERNAL LOCATION} | i32 | -| main.rs:2751:17:2751:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2751:17:2751:24 | x.max(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:2751:23:2751:23 | y | | {EXTERNAL LOCATION} | usize | -| main.rs:2766:22:2766:26 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2766:22:2766:26 | SelfParam | TRef | main.rs:2765:5:2767:5 | Self [trait Container] | -| main.rs:2769:34:2769:34 | c | | {EXTERNAL LOCATION} | & | -| main.rs:2769:34:2769:34 | c | TRef | main.rs:2769:15:2769:31 | T | -| main.rs:2769:49:2771:5 | { ... } | | {EXTERNAL LOCATION} | bool | -| main.rs:2770:9:2770:9 | c | | {EXTERNAL LOCATION} | & | -| main.rs:2770:9:2770:9 | c | TRef | main.rs:2769:15:2769:31 | T | -| main.rs:2770:9:2770:21 | c.get_input() | | {EXTERNAL LOCATION} | i64 | -| main.rs:2770:9:2770:27 | ... == ... | | {EXTERNAL LOCATION} | bool | -| main.rs:2770:26:2770:27 | 42 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2774:22:2774:26 | SelfParam | | {EXTERNAL LOCATION} | & | -| main.rs:2774:22:2774:26 | SelfParam | TRef | main.rs:2763:5:2763:21 | Gen | -| main.rs:2774:22:2774:26 | SelfParam | TRef.T | main.rs:2773:10:2773:17 | GT | -| main.rs:2774:35:2776:9 | { ... } | | main.rs:2773:10:2773:17 | GT | -| main.rs:2775:13:2775:16 | self | | {EXTERNAL LOCATION} | & | -| main.rs:2775:13:2775:16 | self | TRef | main.rs:2763:5:2763:21 | Gen | -| main.rs:2775:13:2775:16 | self | TRef.T | main.rs:2773:10:2773:17 | GT | -| main.rs:2775:13:2775:18 | self.0 | | main.rs:2773:10:2773:17 | GT | -| main.rs:2779:15:2783:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2780:13:2780:13 | v | | {EXTERNAL LOCATION} | i64 | -| main.rs:2780:17:2780:34 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | -| main.rs:2781:13:2781:13 | g | | main.rs:2763:5:2763:21 | Gen | -| main.rs:2781:13:2781:13 | g | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2781:17:2781:22 | Gen(...) | | main.rs:2763:5:2763:21 | Gen | -| main.rs:2781:17:2781:22 | Gen(...) | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2781:21:2781:21 | v | | {EXTERNAL LOCATION} | i64 | -| main.rs:2782:13:2782:13 | _ | | {EXTERNAL LOCATION} | bool | -| main.rs:2782:17:2782:26 | my_get(...) | | {EXTERNAL LOCATION} | bool | -| main.rs:2782:24:2782:25 | &g | | {EXTERNAL LOCATION} | & | -| main.rs:2782:24:2782:25 | &g | TRef | main.rs:2763:5:2763:21 | Gen | -| main.rs:2782:24:2782:25 | &g | TRef.T | {EXTERNAL LOCATION} | i64 | -| main.rs:2782:25:2782:25 | g | | main.rs:2763:5:2763:21 | Gen | -| main.rs:2782:25:2782:25 | g | T | {EXTERNAL LOCATION} | i64 | -| main.rs:2786:11:2821:1 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2787:5:2787:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2788:5:2788:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:2789:5:2789:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:2789:20:2789:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:2789:41:2789:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:2790:5:2790:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2791:5:2791:41 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2792:5:2792:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2793:5:2793:30 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2794:5:2794:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2795:5:2795:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2796:5:2796:32 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2797:5:2797:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2798:5:2798:36 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2799:5:2799:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2800:5:2800:29 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2801:5:2801:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2802:5:2802:24 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2803:5:2803:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2804:5:2804:18 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2805:5:2805:15 | ...::f(...) | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2805:5:2805:15 | ...::f(...) | dyn(Output) | {EXTERNAL LOCATION} | () | -| main.rs:2806:5:2806:19 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2807:5:2807:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2808:5:2808:14 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2809:5:2809:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2810:5:2810:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2811:5:2811:43 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2812:5:2812:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2813:5:2813:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2814:5:2814:28 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2815:5:2815:23 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2816:5:2816:41 | ...::test_all_patterns(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2817:5:2817:49 | ...::box_patterns(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2818:5:2818:20 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2819:5:2819:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2819:5:2819:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2819:5:2819:20 | ...::f(...) | T | main.rs:2547:5:2549:5 | dyn MyTrait | -| main.rs:2819:5:2819:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | -| main.rs:2819:16:2819:19 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2820:5:2820:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2361:17:2364:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2361:28:2361:34 | matrix1 | | {EXTERNAL LOCATION} | Vec | +| main.rs:2361:28:2361:34 | matrix1 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2361:36:2364:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2362:13:2363:13 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2362:29:2363:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2366:17:2366:20 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2366:17:2366:20 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2366:17:2366:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2366:17:2366:20 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2366:17:2366:20 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2366:17:2366:20 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2366:17:2366:20 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2366:24:2366:55 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2366:24:2366:55 | ...::new(...) | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2366:24:2366:55 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2366:24:2366:55 | ...::new(...) | V | {EXTERNAL LOCATION} | Box | +| main.rs:2366:24:2366:55 | ...::new(...) | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2366:24:2366:55 | ...::new(...) | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2366:24:2366:55 | ...::new(...) | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2367:9:2367:12 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2367:9:2367:12 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2367:9:2367:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2367:9:2367:12 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2367:9:2367:12 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2367:9:2367:12 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2367:9:2367:12 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2367:9:2367:39 | map1.insert(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2367:9:2367:39 | map1.insert(...) | T | {EXTERNAL LOCATION} | Box | +| main.rs:2367:9:2367:39 | map1.insert(...) | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2367:9:2367:39 | map1.insert(...) | T.T | {EXTERNAL LOCATION} | & | +| main.rs:2367:9:2367:39 | map1.insert(...) | T.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2367:21:2367:21 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2367:24:2367:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2367:24:2367:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2367:24:2367:38 | ...::new(...) | T | {EXTERNAL LOCATION} | & | +| main.rs:2367:24:2367:38 | ...::new(...) | T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2367:33:2367:37 | "one" | | {EXTERNAL LOCATION} | & | +| main.rs:2367:33:2367:37 | "one" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2368:9:2368:12 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2368:9:2368:12 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2368:9:2368:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2368:9:2368:12 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2368:9:2368:12 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2368:9:2368:12 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2368:9:2368:12 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2368:9:2368:39 | map1.insert(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2368:9:2368:39 | map1.insert(...) | T | {EXTERNAL LOCATION} | Box | +| main.rs:2368:9:2368:39 | map1.insert(...) | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2368:9:2368:39 | map1.insert(...) | T.T | {EXTERNAL LOCATION} | & | +| main.rs:2368:9:2368:39 | map1.insert(...) | T.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2368:21:2368:21 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2368:24:2368:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2368:24:2368:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2368:24:2368:38 | ...::new(...) | T | {EXTERNAL LOCATION} | & | +| main.rs:2368:24:2368:38 | ...::new(...) | T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2368:33:2368:37 | "two" | | {EXTERNAL LOCATION} | & | +| main.rs:2368:33:2368:37 | "two" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2369:9:2369:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2369:13:2369:15 | key | | {EXTERNAL LOCATION} | & | +| main.rs:2369:13:2369:15 | key | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2369:20:2369:23 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2369:20:2369:23 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2369:20:2369:23 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2369:20:2369:23 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2369:20:2369:23 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2369:20:2369:23 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2369:20:2369:23 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2369:20:2369:30 | map1.keys() | | {EXTERNAL LOCATION} | Keys | +| main.rs:2369:20:2369:30 | map1.keys() | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2369:20:2369:30 | map1.keys() | V | {EXTERNAL LOCATION} | Box | +| main.rs:2369:20:2369:30 | map1.keys() | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2369:20:2369:30 | map1.keys() | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2369:20:2369:30 | map1.keys() | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2369:32:2369:33 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2370:9:2370:37 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2370:13:2370:17 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2370:13:2370:17 | value | TRef | {EXTERNAL LOCATION} | Box | +| main.rs:2370:13:2370:17 | value | TRef.A | {EXTERNAL LOCATION} | Global | +| main.rs:2370:13:2370:17 | value | TRef.T | {EXTERNAL LOCATION} | & | +| main.rs:2370:13:2370:17 | value | TRef.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2370:22:2370:25 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2370:22:2370:25 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2370:22:2370:25 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2370:22:2370:25 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2370:22:2370:25 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2370:22:2370:25 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2370:22:2370:25 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2370:22:2370:34 | map1.values() | | {EXTERNAL LOCATION} | Values | +| main.rs:2370:22:2370:34 | map1.values() | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2370:22:2370:34 | map1.values() | V | {EXTERNAL LOCATION} | Box | +| main.rs:2370:22:2370:34 | map1.values() | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2370:22:2370:34 | map1.values() | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2370:22:2370:34 | map1.values() | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2370:36:2370:37 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2371:9:2371:42 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2371:13:2371:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2371:13:2371:24 | TuplePat | T0 | {EXTERNAL LOCATION} | & | +| main.rs:2371:13:2371:24 | TuplePat | T0.TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2371:13:2371:24 | TuplePat | T1 | {EXTERNAL LOCATION} | & | +| main.rs:2371:13:2371:24 | TuplePat | T1.TRef | {EXTERNAL LOCATION} | Box | +| main.rs:2371:13:2371:24 | TuplePat | T1.TRef.A | {EXTERNAL LOCATION} | Global | +| main.rs:2371:13:2371:24 | TuplePat | T1.TRef.T | {EXTERNAL LOCATION} | & | +| main.rs:2371:13:2371:24 | TuplePat | T1.TRef.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2371:14:2371:16 | key | | {EXTERNAL LOCATION} | & | +| main.rs:2371:14:2371:16 | key | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2371:19:2371:23 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2371:19:2371:23 | value | TRef | {EXTERNAL LOCATION} | Box | +| main.rs:2371:19:2371:23 | value | TRef.A | {EXTERNAL LOCATION} | Global | +| main.rs:2371:19:2371:23 | value | TRef.T | {EXTERNAL LOCATION} | & | +| main.rs:2371:19:2371:23 | value | TRef.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2371:29:2371:32 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2371:29:2371:32 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2371:29:2371:32 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2371:29:2371:32 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2371:29:2371:32 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2371:29:2371:32 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2371:29:2371:32 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2371:29:2371:39 | map1.iter() | | {EXTERNAL LOCATION} | Iter | +| main.rs:2371:29:2371:39 | map1.iter() | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2371:29:2371:39 | map1.iter() | V | {EXTERNAL LOCATION} | Box | +| main.rs:2371:29:2371:39 | map1.iter() | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2371:29:2371:39 | map1.iter() | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2371:29:2371:39 | map1.iter() | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2371:41:2371:42 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2372:9:2372:36 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2372:13:2372:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2372:13:2372:24 | TuplePat | T0 | {EXTERNAL LOCATION} | & | +| main.rs:2372:13:2372:24 | TuplePat | T0.TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2372:13:2372:24 | TuplePat | T1 | {EXTERNAL LOCATION} | & | +| main.rs:2372:13:2372:24 | TuplePat | T1.TRef | {EXTERNAL LOCATION} | Box | +| main.rs:2372:13:2372:24 | TuplePat | T1.TRef.A | {EXTERNAL LOCATION} | Global | +| main.rs:2372:13:2372:24 | TuplePat | T1.TRef.T | {EXTERNAL LOCATION} | & | +| main.rs:2372:13:2372:24 | TuplePat | T1.TRef.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2372:14:2372:16 | key | | {EXTERNAL LOCATION} | & | +| main.rs:2372:14:2372:16 | key | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2372:19:2372:23 | value | | {EXTERNAL LOCATION} | & | +| main.rs:2372:19:2372:23 | value | TRef | {EXTERNAL LOCATION} | Box | +| main.rs:2372:19:2372:23 | value | TRef.A | {EXTERNAL LOCATION} | Global | +| main.rs:2372:19:2372:23 | value | TRef.T | {EXTERNAL LOCATION} | & | +| main.rs:2372:19:2372:23 | value | TRef.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2372:29:2372:33 | &map1 | | {EXTERNAL LOCATION} | & | +| main.rs:2372:29:2372:33 | &map1 | TRef | {EXTERNAL LOCATION} | HashMap | +| main.rs:2372:29:2372:33 | &map1 | TRef.K | {EXTERNAL LOCATION} | i32 | +| main.rs:2372:29:2372:33 | &map1 | TRef.S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2372:29:2372:33 | &map1 | TRef.V | {EXTERNAL LOCATION} | Box | +| main.rs:2372:29:2372:33 | &map1 | TRef.V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2372:29:2372:33 | &map1 | TRef.V.T | {EXTERNAL LOCATION} | & | +| main.rs:2372:29:2372:33 | &map1 | TRef.V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2372:30:2372:33 | map1 | | {EXTERNAL LOCATION} | HashMap | +| main.rs:2372:30:2372:33 | map1 | K | {EXTERNAL LOCATION} | i32 | +| main.rs:2372:30:2372:33 | map1 | S | {EXTERNAL LOCATION} | RandomState | +| main.rs:2372:30:2372:33 | map1 | V | {EXTERNAL LOCATION} | Box | +| main.rs:2372:30:2372:33 | map1 | V.A | {EXTERNAL LOCATION} | Global | +| main.rs:2372:30:2372:33 | map1 | V.T | {EXTERNAL LOCATION} | & | +| main.rs:2372:30:2372:33 | map1 | V.T.TRef | {EXTERNAL LOCATION} | str | +| main.rs:2372:35:2372:36 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2376:17:2376:17 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2376:26:2376:26 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2376:26:2376:26 | 0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2378:13:2378:13 | _ | | {EXTERNAL LOCATION} | () | +| main.rs:2378:17:2381:9 | while ... { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2378:23:2378:23 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2378:23:2378:28 | ... < ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2378:27:2378:28 | 10 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2379:9:2381:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2380:13:2380:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2380:13:2380:18 | ... += ... | | {EXTERNAL LOCATION} | () | +| main.rs:2380:18:2380:18 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2392:40:2394:9 | { ... } | | {EXTERNAL LOCATION} | Option | +| main.rs:2392:40:2394:9 | { ... } | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2392:40:2394:9 | { ... } | T.T | main.rs:2391:10:2391:19 | T | +| main.rs:2393:13:2393:16 | None | | {EXTERNAL LOCATION} | Option | +| main.rs:2393:13:2393:16 | None | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2393:13:2393:16 | None | T.T | main.rs:2391:10:2391:19 | T | +| main.rs:2396:30:2398:9 | { ... } | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2396:30:2398:9 | { ... } | T | main.rs:2391:10:2391:19 | T | +| main.rs:2397:13:2397:28 | S1(...) | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2397:13:2397:28 | S1(...) | T | main.rs:2391:10:2391:19 | T | +| main.rs:2397:16:2397:27 | ...::default(...) | | main.rs:2391:10:2391:19 | T | +| main.rs:2400:19:2400:22 | SelfParam | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2400:19:2400:22 | SelfParam | T | main.rs:2391:10:2391:19 | T | +| main.rs:2400:33:2402:9 | { ... } | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2400:33:2402:9 | { ... } | T | main.rs:2391:10:2391:19 | T | +| main.rs:2401:13:2401:16 | self | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2401:13:2401:16 | self | T | main.rs:2391:10:2391:19 | T | +| main.rs:2413:15:2413:15 | x | | main.rs:2413:12:2413:12 | T | +| main.rs:2413:26:2415:5 | { ... } | | main.rs:2413:12:2413:12 | T | +| main.rs:2414:9:2414:9 | x | | main.rs:2413:12:2413:12 | T | +| main.rs:2417:16:2439:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2418:13:2418:14 | x1 | | {EXTERNAL LOCATION} | Option | +| main.rs:2418:13:2418:14 | x1 | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2418:13:2418:14 | x1 | T.T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2418:34:2418:48 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2418:34:2418:48 | ...::assoc_fun(...) | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2418:34:2418:48 | ...::assoc_fun(...) | T.T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2419:13:2419:14 | x2 | | {EXTERNAL LOCATION} | Option | +| main.rs:2419:13:2419:14 | x2 | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2419:13:2419:14 | x2 | T.T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2419:18:2419:38 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2419:18:2419:38 | ...::assoc_fun(...) | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2419:18:2419:38 | ...::assoc_fun(...) | T.T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2420:13:2420:14 | x3 | | {EXTERNAL LOCATION} | Option | +| main.rs:2420:13:2420:14 | x3 | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2420:13:2420:14 | x3 | T.T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2420:18:2420:32 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | +| main.rs:2420:18:2420:32 | ...::assoc_fun(...) | T | main.rs:2386:5:2386:20 | S1 | +| main.rs:2420:18:2420:32 | ...::assoc_fun(...) | T.T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2421:13:2421:14 | x4 | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2421:13:2421:14 | x4 | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2421:18:2421:48 | ...::method(...) | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2421:18:2421:48 | ...::method(...) | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2421:35:2421:47 | ...::default(...) | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2421:35:2421:47 | ...::default(...) | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2422:13:2422:14 | x5 | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2422:13:2422:14 | x5 | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2422:18:2422:42 | ...::method(...) | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2422:18:2422:42 | ...::method(...) | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2422:29:2422:41 | ...::default(...) | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2422:29:2422:41 | ...::default(...) | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2423:13:2423:14 | x6 | | main.rs:2407:5:2407:27 | S4 | +| main.rs:2423:13:2423:14 | x6 | T4 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2423:18:2423:45 | S4::<...>(...) | | main.rs:2407:5:2407:27 | S4 | +| main.rs:2423:18:2423:45 | S4::<...>(...) | T4 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2423:27:2423:44 | ...::default(...) | | main.rs:2388:5:2389:14 | S2 | +| main.rs:2424:13:2424:14 | x7 | | main.rs:2407:5:2407:27 | S4 | +| main.rs:2424:13:2424:14 | x7 | T4 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2424:18:2424:23 | S4(...) | | main.rs:2407:5:2407:27 | S4 | +| main.rs:2424:18:2424:23 | S4(...) | T4 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2424:21:2424:22 | S2 | | main.rs:2388:5:2389:14 | S2 | +| main.rs:2425:13:2425:14 | x8 | | main.rs:2407:5:2407:27 | S4 | +| main.rs:2425:13:2425:14 | x8 | T4 | {EXTERNAL LOCATION} | i32 | +| main.rs:2425:18:2425:22 | S4(...) | | main.rs:2407:5:2407:27 | S4 | +| main.rs:2425:18:2425:22 | S4(...) | T4 | {EXTERNAL LOCATION} | i32 | +| main.rs:2425:21:2425:21 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2426:13:2426:14 | x9 | | main.rs:2407:5:2407:27 | S4 | +| main.rs:2426:13:2426:14 | x9 | T4 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2426:18:2426:34 | S4(...) | | main.rs:2407:5:2407:27 | S4 | +| main.rs:2426:18:2426:34 | S4(...) | T4 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2426:21:2426:33 | ...::default(...) | | main.rs:2388:5:2389:14 | S2 | +| main.rs:2427:13:2427:15 | x10 | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2427:13:2427:15 | x10 | T5 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2427:19:2430:9 | S5::<...> {...} | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2427:19:2430:9 | S5::<...> {...} | T5 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2429:20:2429:37 | ...::default(...) | | main.rs:2388:5:2389:14 | S2 | +| main.rs:2431:13:2431:15 | x11 | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2431:13:2431:15 | x11 | T5 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2431:19:2431:34 | S5 {...} | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2431:19:2431:34 | S5 {...} | T5 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2431:31:2431:32 | S2 | | main.rs:2388:5:2389:14 | S2 | +| main.rs:2432:13:2432:15 | x12 | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2432:13:2432:15 | x12 | T5 | {EXTERNAL LOCATION} | i32 | +| main.rs:2432:19:2432:33 | S5 {...} | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2432:19:2432:33 | S5 {...} | T5 | {EXTERNAL LOCATION} | i32 | +| main.rs:2432:31:2432:31 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2433:13:2433:15 | x13 | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2433:13:2433:15 | x13 | T5 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2433:19:2436:9 | S5 {...} | | main.rs:2409:5:2411:5 | S5 | +| main.rs:2433:19:2436:9 | S5 {...} | T5 | main.rs:2388:5:2389:14 | S2 | +| main.rs:2435:20:2435:32 | ...::default(...) | | main.rs:2388:5:2389:14 | S2 | +| main.rs:2437:13:2437:15 | x14 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2437:19:2437:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2437:30:2437:47 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2438:13:2438:15 | x15 | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2438:13:2438:15 | x15 | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2438:19:2438:37 | ...::default(...) | | main.rs:2386:5:2386:20 | S1 | +| main.rs:2438:19:2438:37 | ...::default(...) | T | main.rs:2388:5:2389:14 | S2 | +| main.rs:2447:35:2449:9 | { ... } | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2447:35:2449:9 | { ... } | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2447:35:2449:9 | { ... } | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2448:13:2448:26 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2448:13:2448:26 | TupleExpr | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2448:13:2448:26 | TupleExpr | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2448:14:2448:18 | S1 {...} | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2448:21:2448:25 | S1 {...} | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2450:16:2450:19 | SelfParam | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2450:22:2450:23 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2453:16:2487:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2454:13:2454:13 | a | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2454:13:2454:13 | a | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2454:13:2454:13 | a | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2454:17:2454:30 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2454:17:2454:30 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2454:17:2454:30 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2455:17:2455:17 | b | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2455:17:2455:17 | b | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2455:17:2455:17 | b | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2455:21:2455:34 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2455:21:2455:34 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2455:21:2455:34 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2456:13:2456:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2456:13:2456:18 | TuplePat | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2456:13:2456:18 | TuplePat | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2456:14:2456:14 | c | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2456:17:2456:17 | d | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2456:22:2456:35 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2456:22:2456:35 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2456:22:2456:35 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2457:13:2457:22 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2457:13:2457:22 | TuplePat | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2457:13:2457:22 | TuplePat | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2457:18:2457:18 | e | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2457:21:2457:21 | f | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2457:26:2457:39 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2457:26:2457:39 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2457:26:2457:39 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2458:13:2458:26 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2458:13:2458:26 | TuplePat | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2458:13:2458:26 | TuplePat | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2458:18:2458:18 | g | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2458:25:2458:25 | h | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2458:30:2458:43 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2458:30:2458:43 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2458:30:2458:43 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2460:9:2460:9 | a | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2460:9:2460:9 | a | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2460:9:2460:9 | a | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2460:9:2460:11 | a.0 | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2460:9:2460:17 | ... .foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2461:9:2461:9 | b | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2461:9:2461:9 | b | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2461:9:2461:9 | b | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2461:9:2461:11 | b.1 | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2461:9:2461:17 | ... .foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2462:9:2462:9 | c | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2462:9:2462:15 | c.foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2463:9:2463:9 | d | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2463:9:2463:15 | d.foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2464:9:2464:9 | e | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2464:9:2464:15 | e.foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2465:9:2465:9 | f | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2465:9:2465:15 | f.foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2466:9:2466:9 | g | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2466:9:2466:15 | g.foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2467:9:2467:9 | h | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2467:9:2467:15 | h.foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2472:13:2472:13 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2472:17:2472:34 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2473:13:2473:13 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2473:17:2473:34 | ...::default(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2474:13:2474:16 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2474:13:2474:16 | pair | T0 | {EXTERNAL LOCATION} | i64 | +| main.rs:2474:13:2474:16 | pair | T1 | {EXTERNAL LOCATION} | bool | +| main.rs:2474:20:2474:25 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2474:20:2474:25 | TupleExpr | T0 | {EXTERNAL LOCATION} | i64 | +| main.rs:2474:20:2474:25 | TupleExpr | T1 | {EXTERNAL LOCATION} | bool | +| main.rs:2474:21:2474:21 | a | | {EXTERNAL LOCATION} | i64 | +| main.rs:2474:24:2474:24 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2475:13:2475:13 | i | | {EXTERNAL LOCATION} | i64 | +| main.rs:2475:22:2475:25 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2475:22:2475:25 | pair | T0 | {EXTERNAL LOCATION} | i64 | +| main.rs:2475:22:2475:25 | pair | T1 | {EXTERNAL LOCATION} | bool | +| main.rs:2475:22:2475:27 | pair.0 | | {EXTERNAL LOCATION} | i64 | +| main.rs:2476:13:2476:13 | j | | {EXTERNAL LOCATION} | bool | +| main.rs:2476:23:2476:26 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2476:23:2476:26 | pair | T0 | {EXTERNAL LOCATION} | i64 | +| main.rs:2476:23:2476:26 | pair | T1 | {EXTERNAL LOCATION} | bool | +| main.rs:2476:23:2476:28 | pair.1 | | {EXTERNAL LOCATION} | bool | +| main.rs:2478:13:2478:16 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2478:13:2478:16 | pair | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2478:13:2478:16 | pair | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2478:20:2478:25 | [...] | | {EXTERNAL LOCATION} | [;] | +| main.rs:2478:20:2478:25 | [...] | TArray | {EXTERNAL LOCATION} | i32 | +| main.rs:2478:20:2478:32 | ... .into() | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2478:20:2478:32 | ... .into() | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2478:20:2478:32 | ... .into() | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2478:21:2478:21 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2478:24:2478:24 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2479:9:2482:9 | match pair { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2479:15:2479:18 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2479:15:2479:18 | pair | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2479:15:2479:18 | pair | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2480:13:2480:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2480:13:2480:18 | TuplePat | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2480:13:2480:18 | TuplePat | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2480:14:2480:14 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2480:17:2480:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2480:23:2480:42 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2480:30:2480:41 | "unexpected" | | {EXTERNAL LOCATION} | & | +| main.rs:2480:30:2480:41 | "unexpected" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2480:30:2480:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2480:30:2480:41 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2481:13:2481:13 | _ | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2481:13:2481:13 | _ | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2481:13:2481:13 | _ | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2481:18:2481:35 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2481:25:2481:34 | "expected" | | {EXTERNAL LOCATION} | & | +| main.rs:2481:25:2481:34 | "expected" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2481:25:2481:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2481:25:2481:34 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2483:13:2483:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2483:17:2483:20 | pair | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2483:17:2483:20 | pair | T0 | {EXTERNAL LOCATION} | i32 | +| main.rs:2483:17:2483:20 | pair | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2483:17:2483:22 | pair.0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2485:13:2485:13 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2485:13:2485:13 | y | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2485:13:2485:13 | y | TRef.T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2485:13:2485:13 | y | TRef.T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2485:17:2485:31 | &... | | {EXTERNAL LOCATION} | & | +| main.rs:2485:17:2485:31 | &... | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2485:17:2485:31 | &... | TRef.T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2485:17:2485:31 | &... | TRef.T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2485:18:2485:31 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2485:18:2485:31 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2485:18:2485:31 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2486:9:2486:9 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2486:9:2486:9 | y | TRef | {EXTERNAL LOCATION} | (T_2) | +| main.rs:2486:9:2486:9 | y | TRef.T0 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2486:9:2486:9 | y | TRef.T1 | main.rs:2443:5:2444:16 | S1 | +| main.rs:2486:9:2486:11 | y.0 | | main.rs:2443:5:2444:16 | S1 | +| main.rs:2486:9:2486:17 | ... .foo() | | {EXTERNAL LOCATION} | () | +| main.rs:2492:27:2514:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2493:13:2493:23 | boxed_value | | {EXTERNAL LOCATION} | Box | +| main.rs:2493:13:2493:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | +| main.rs:2493:13:2493:23 | boxed_value | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2493:27:2493:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2493:27:2493:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2493:27:2493:42 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2493:36:2493:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2496:9:2504:9 | match boxed_value { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2496:15:2496:25 | boxed_value | | {EXTERNAL LOCATION} | Box | +| main.rs:2496:15:2496:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | +| main.rs:2496:15:2496:25 | boxed_value | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2497:13:2497:19 | box 100 | | {EXTERNAL LOCATION} | Box | +| main.rs:2497:13:2497:19 | box 100 | A | {EXTERNAL LOCATION} | Global | +| main.rs:2497:13:2497:19 | box 100 | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2497:17:2497:19 | 100 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2497:24:2499:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2498:17:2498:37 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2498:26:2498:36 | "Boxed 100\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2498:26:2498:36 | "Boxed 100\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2498:26:2498:36 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2498:26:2498:36 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2498:26:2498:36 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2500:13:2500:17 | box ... | | {EXTERNAL LOCATION} | Box | +| main.rs:2500:13:2500:17 | box ... | A | {EXTERNAL LOCATION} | Global | +| main.rs:2500:13:2500:17 | box ... | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2500:22:2503:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2502:17:2502:52 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2502:26:2502:42 | "Boxed value: {}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2502:26:2502:42 | "Boxed value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2502:26:2502:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2502:26:2502:51 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2502:26:2502:51 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2507:13:2507:22 | nested_box | | {EXTERNAL LOCATION} | Box | +| main.rs:2507:13:2507:22 | nested_box | A | {EXTERNAL LOCATION} | Global | +| main.rs:2507:13:2507:22 | nested_box | T | {EXTERNAL LOCATION} | Box | +| main.rs:2507:13:2507:22 | nested_box | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2507:13:2507:22 | nested_box | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2507:26:2507:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2507:26:2507:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2507:26:2507:50 | ...::new(...) | T | {EXTERNAL LOCATION} | Box | +| main.rs:2507:26:2507:50 | ...::new(...) | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2507:26:2507:50 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2507:35:2507:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2507:35:2507:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2507:35:2507:49 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2507:44:2507:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2508:9:2513:9 | match nested_box { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2508:15:2508:24 | nested_box | | {EXTERNAL LOCATION} | Box | +| main.rs:2508:15:2508:24 | nested_box | A | {EXTERNAL LOCATION} | Global | +| main.rs:2508:15:2508:24 | nested_box | T | {EXTERNAL LOCATION} | Box | +| main.rs:2508:15:2508:24 | nested_box | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2508:15:2508:24 | nested_box | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2509:13:2509:21 | box ... | | {EXTERNAL LOCATION} | Box | +| main.rs:2509:13:2509:21 | box ... | A | {EXTERNAL LOCATION} | Global | +| main.rs:2509:13:2509:21 | box ... | T | {EXTERNAL LOCATION} | Box | +| main.rs:2509:13:2509:21 | box ... | T.A | {EXTERNAL LOCATION} | Global | +| main.rs:2509:13:2509:21 | box ... | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2509:26:2512:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2511:17:2511:60 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2511:26:2511:43 | "Nested boxed: {}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2511:26:2511:43 | "Nested boxed: {}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2511:26:2511:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2511:26:2511:59 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2511:26:2511:59 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2523:36:2525:9 | { ... } | | main.rs:2520:5:2520:22 | Path | +| main.rs:2524:13:2524:19 | Path {...} | | main.rs:2520:5:2520:22 | Path | +| main.rs:2527:29:2527:33 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2527:29:2527:33 | SelfParam | TRef | main.rs:2520:5:2520:22 | Path | +| main.rs:2527:59:2529:9 | { ... } | | {EXTERNAL LOCATION} | Result | +| main.rs:2527:59:2529:9 | { ... } | E | {EXTERNAL LOCATION} | () | +| main.rs:2527:59:2529:9 | { ... } | T | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2528:13:2528:30 | Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:2528:13:2528:30 | Ok(...) | E | {EXTERNAL LOCATION} | () | +| main.rs:2528:13:2528:30 | Ok(...) | T | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2528:16:2528:29 | ...::new(...) | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2535:39:2537:9 | { ... } | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2536:13:2536:22 | PathBuf {...} | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2545:18:2545:22 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2545:18:2545:22 | SelfParam | TRef | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2545:34:2549:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2545:34:2549:9 | { ... } | TRef | main.rs:2520:5:2520:22 | Path | +| main.rs:2547:33:2547:43 | ...::new(...) | | main.rs:2520:5:2520:22 | Path | +| main.rs:2548:13:2548:17 | &path | | {EXTERNAL LOCATION} | & | +| main.rs:2548:13:2548:17 | &path | TRef | main.rs:2520:5:2520:22 | Path | +| main.rs:2548:14:2548:17 | path | | main.rs:2520:5:2520:22 | Path | +| main.rs:2552:16:2560:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2553:13:2553:17 | path1 | | main.rs:2520:5:2520:22 | Path | +| main.rs:2553:21:2553:31 | ...::new(...) | | main.rs:2520:5:2520:22 | Path | +| main.rs:2554:13:2554:17 | path2 | | {EXTERNAL LOCATION} | Result | +| main.rs:2554:13:2554:17 | path2 | E | {EXTERNAL LOCATION} | () | +| main.rs:2554:13:2554:17 | path2 | T | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2554:21:2554:25 | path1 | | main.rs:2520:5:2520:22 | Path | +| main.rs:2554:21:2554:40 | path1.canonicalize() | | {EXTERNAL LOCATION} | Result | +| main.rs:2554:21:2554:40 | path1.canonicalize() | E | {EXTERNAL LOCATION} | () | +| main.rs:2554:21:2554:40 | path1.canonicalize() | T | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2555:13:2555:17 | path3 | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2555:21:2555:25 | path2 | | {EXTERNAL LOCATION} | Result | +| main.rs:2555:21:2555:25 | path2 | E | {EXTERNAL LOCATION} | () | +| main.rs:2555:21:2555:25 | path2 | T | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2555:21:2555:34 | path2.unwrap() | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2557:13:2557:20 | pathbuf1 | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2557:24:2557:37 | ...::new(...) | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2558:13:2558:20 | pathbuf2 | | {EXTERNAL LOCATION} | Result | +| main.rs:2558:13:2558:20 | pathbuf2 | E | {EXTERNAL LOCATION} | () | +| main.rs:2558:13:2558:20 | pathbuf2 | T | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2558:24:2558:31 | pathbuf1 | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2558:24:2558:46 | pathbuf1.canonicalize() | | {EXTERNAL LOCATION} | Result | +| main.rs:2558:24:2558:46 | pathbuf1.canonicalize() | E | {EXTERNAL LOCATION} | () | +| main.rs:2558:24:2558:46 | pathbuf1.canonicalize() | T | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2559:13:2559:20 | pathbuf3 | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2559:24:2559:31 | pathbuf2 | | {EXTERNAL LOCATION} | Result | +| main.rs:2559:24:2559:31 | pathbuf2 | E | {EXTERNAL LOCATION} | () | +| main.rs:2559:24:2559:31 | pathbuf2 | T | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2559:24:2559:40 | pathbuf2.unwrap() | | main.rs:2532:5:2532:25 | PathBuf | +| main.rs:2565:14:2565:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2565:14:2565:18 | SelfParam | TRef | main.rs:2564:5:2566:5 | Self [trait MyTrait] | +| main.rs:2572:14:2572:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2572:14:2572:18 | SelfParam | TRef | main.rs:2568:5:2569:19 | S | +| main.rs:2572:14:2572:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2572:28:2574:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2573:13:2573:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2573:13:2573:16 | self | TRef | main.rs:2568:5:2569:19 | S | +| main.rs:2573:13:2573:16 | self | TRef.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2573:13:2573:18 | self.0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2578:14:2578:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2578:14:2578:18 | SelfParam | TRef | main.rs:2568:5:2569:19 | S | +| main.rs:2578:14:2578:18 | SelfParam | TRef.T | main.rs:2568:5:2569:19 | S | +| main.rs:2578:14:2578:18 | SelfParam | TRef.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2578:28:2580:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2579:13:2579:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2579:13:2579:16 | self | TRef | main.rs:2568:5:2569:19 | S | +| main.rs:2579:13:2579:16 | self | TRef.T | main.rs:2568:5:2569:19 | S | +| main.rs:2579:13:2579:16 | self | TRef.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2579:13:2579:18 | self.0 | | main.rs:2568:5:2569:19 | S | +| main.rs:2579:13:2579:18 | self.0 | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2579:13:2579:21 | ... .0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2584:15:2584:19 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2584:15:2584:19 | SelfParam | TRef | main.rs:2568:5:2569:19 | S | +| main.rs:2584:15:2584:19 | SelfParam | TRef.T | main.rs:2583:10:2583:16 | T | +| main.rs:2584:33:2586:9 | { ... } | | main.rs:2568:5:2569:19 | S | +| main.rs:2584:33:2586:9 | { ... } | T | main.rs:2568:5:2569:19 | S | +| main.rs:2584:33:2586:9 | { ... } | T.T | main.rs:2583:10:2583:16 | T | +| main.rs:2585:13:2585:24 | S(...) | | main.rs:2568:5:2569:19 | S | +| main.rs:2585:13:2585:24 | S(...) | T | main.rs:2568:5:2569:19 | S | +| main.rs:2585:13:2585:24 | S(...) | T.T | main.rs:2583:10:2583:16 | T | +| main.rs:2585:15:2585:23 | S(...) | | main.rs:2568:5:2569:19 | S | +| main.rs:2585:15:2585:23 | S(...) | T | main.rs:2583:10:2583:16 | T | +| main.rs:2585:17:2585:20 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2585:17:2585:20 | self | TRef | main.rs:2568:5:2569:19 | S | +| main.rs:2585:17:2585:20 | self | TRef.T | main.rs:2583:10:2583:16 | T | +| main.rs:2585:17:2585:22 | self.0 | | main.rs:2583:10:2583:16 | T | +| main.rs:2589:14:2589:14 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2589:48:2606:5 | { ... } | | {EXTERNAL LOCATION} | Box | +| main.rs:2589:48:2606:5 | { ... } | A | {EXTERNAL LOCATION} | Global | +| main.rs:2589:48:2606:5 | { ... } | T | main.rs:2564:5:2566:5 | dyn MyTrait | +| main.rs:2589:48:2606:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2590:13:2590:13 | x | | main.rs:2568:5:2569:19 | S | +| main.rs:2590:13:2590:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2590:17:2595:9 | if b {...} else {...} | | main.rs:2568:5:2569:19 | S | +| main.rs:2590:17:2595:9 | if b {...} else {...} | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2590:20:2590:20 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2590:22:2593:9 | { ... } | | main.rs:2568:5:2569:19 | S | +| main.rs:2590:22:2593:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2591:17:2591:17 | y | | main.rs:2568:5:2569:19 | S | +| main.rs:2591:17:2591:17 | y | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2591:21:2591:38 | ...::default(...) | | main.rs:2568:5:2569:19 | S | +| main.rs:2591:21:2591:38 | ...::default(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2592:13:2592:13 | y | | main.rs:2568:5:2569:19 | S | +| main.rs:2592:13:2592:13 | y | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2593:16:2595:9 | { ... } | | main.rs:2568:5:2569:19 | S | +| main.rs:2593:16:2595:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2594:13:2594:16 | S(...) | | main.rs:2568:5:2569:19 | S | +| main.rs:2594:13:2594:16 | S(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2594:15:2594:15 | 2 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2599:13:2599:13 | x | | main.rs:2568:5:2569:19 | S | +| main.rs:2599:13:2599:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2599:17:2599:20 | S(...) | | main.rs:2568:5:2569:19 | S | +| main.rs:2599:17:2599:20 | S(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2599:19:2599:19 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2600:9:2605:9 | if b {...} else {...} | | {EXTERNAL LOCATION} | Box | +| main.rs:2600:9:2605:9 | if b {...} else {...} | A | {EXTERNAL LOCATION} | Global | +| main.rs:2600:9:2605:9 | if b {...} else {...} | T | main.rs:2564:5:2566:5 | dyn MyTrait | +| main.rs:2600:9:2605:9 | if b {...} else {...} | T | main.rs:2568:5:2569:19 | S | +| main.rs:2600:9:2605:9 | if b {...} else {...} | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2600:9:2605:9 | if b {...} else {...} | T.T | main.rs:2568:5:2569:19 | S | +| main.rs:2600:9:2605:9 | if b {...} else {...} | T.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2600:9:2605:9 | if b {...} else {...} | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2600:12:2600:12 | b | | {EXTERNAL LOCATION} | bool | +| main.rs:2600:14:2603:9 | { ... } | | {EXTERNAL LOCATION} | Box | +| main.rs:2600:14:2603:9 | { ... } | A | {EXTERNAL LOCATION} | Global | +| main.rs:2600:14:2603:9 | { ... } | T | main.rs:2564:5:2566:5 | dyn MyTrait | +| main.rs:2600:14:2603:9 | { ... } | T | main.rs:2568:5:2569:19 | S | +| main.rs:2600:14:2603:9 | { ... } | T.T | main.rs:2568:5:2569:19 | S | +| main.rs:2600:14:2603:9 | { ... } | T.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2600:14:2603:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2601:17:2601:17 | x | | main.rs:2568:5:2569:19 | S | +| main.rs:2601:17:2601:17 | x | T | main.rs:2568:5:2569:19 | S | +| main.rs:2601:17:2601:17 | x | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2601:21:2601:21 | x | | main.rs:2568:5:2569:19 | S | +| main.rs:2601:21:2601:21 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2601:21:2601:26 | x.m2() | | main.rs:2568:5:2569:19 | S | +| main.rs:2601:21:2601:26 | x.m2() | T | main.rs:2568:5:2569:19 | S | +| main.rs:2601:21:2601:26 | x.m2() | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2602:13:2602:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2602:13:2602:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2602:13:2602:23 | ...::new(...) | T | main.rs:2564:5:2566:5 | dyn MyTrait | +| main.rs:2602:13:2602:23 | ...::new(...) | T | main.rs:2568:5:2569:19 | S | +| main.rs:2602:13:2602:23 | ...::new(...) | T.T | main.rs:2568:5:2569:19 | S | +| main.rs:2602:13:2602:23 | ...::new(...) | T.T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2602:13:2602:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2602:22:2602:22 | x | | main.rs:2568:5:2569:19 | S | +| main.rs:2602:22:2602:22 | x | T | main.rs:2568:5:2569:19 | S | +| main.rs:2602:22:2602:22 | x | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2603:16:2605:9 | { ... } | | {EXTERNAL LOCATION} | Box | +| main.rs:2603:16:2605:9 | { ... } | A | {EXTERNAL LOCATION} | Global | +| main.rs:2603:16:2605:9 | { ... } | T | main.rs:2564:5:2566:5 | dyn MyTrait | +| main.rs:2603:16:2605:9 | { ... } | T | main.rs:2568:5:2569:19 | S | +| main.rs:2603:16:2605:9 | { ... } | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2603:16:2605:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2604:13:2604:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2604:13:2604:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2604:13:2604:23 | ...::new(...) | T | main.rs:2564:5:2566:5 | dyn MyTrait | +| main.rs:2604:13:2604:23 | ...::new(...) | T | main.rs:2568:5:2569:19 | S | +| main.rs:2604:13:2604:23 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2604:13:2604:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2604:22:2604:22 | x | | main.rs:2568:5:2569:19 | S | +| main.rs:2604:22:2604:22 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2610:22:2614:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2611:18:2611:18 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2611:33:2613:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2612:13:2612:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2612:13:2612:17 | ... + ... | | {EXTERNAL LOCATION} | i32 | +| main.rs:2612:17:2612:17 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2619:11:2619:14 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2619:30:2627:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2621:13:2621:13 | a | | {EXTERNAL LOCATION} | () | +| main.rs:2621:17:2625:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2622:13:2624:13 | if cond {...} | | {EXTERNAL LOCATION} | () | +| main.rs:2622:16:2622:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2622:21:2624:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2623:24:2623:25 | 12 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2626:9:2626:9 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2630:20:2637:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2633:26:2633:27 | 12 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2635:9:2635:30 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2635:18:2635:26 | "b: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2635:18:2635:26 | "b: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2635:18:2635:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2635:18:2635:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2635:18:2635:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2636:9:2636:9 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2639:20:2641:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2640:16:2640:16 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2644:11:2644:14 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2644:30:2652:5 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2645:13:2645:13 | a | | {EXTERNAL LOCATION} | () | +| main.rs:2645:17:2649:9 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2646:13:2648:13 | if cond {...} | | {EXTERNAL LOCATION} | () | +| main.rs:2646:16:2646:19 | cond | | {EXTERNAL LOCATION} | bool | +| main.rs:2646:21:2648:13 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2647:24:2647:25 | 12 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2650:9:2650:30 | MacroExpr | | {EXTERNAL LOCATION} | () | +| main.rs:2650:18:2650:26 | "a: {:?}\\n" | | {EXTERNAL LOCATION} | & | +| main.rs:2650:18:2650:26 | "a: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | +| main.rs:2650:18:2650:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2650:18:2650:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2650:18:2650:29 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2650:29:2650:29 | a | | {EXTERNAL LOCATION} | () | +| main.rs:2651:9:2651:9 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2660:14:2660:17 | SelfParam | | main.rs:2656:5:2657:13 | S | +| main.rs:2660:20:2660:21 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2663:41:2665:5 | { ... } | | main.rs:2663:22:2663:31 | T | +| main.rs:2664:9:2664:26 | ...::default(...) | | main.rs:2663:22:2663:31 | T | +| main.rs:2667:16:2720:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2668:13:2668:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2668:13:2668:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2668:17:2668:20 | None | | {EXTERNAL LOCATION} | Option | +| main.rs:2668:17:2668:20 | None | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2669:13:2669:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2669:13:2669:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2669:30:2669:30 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2669:30:2669:30 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2670:13:2670:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2670:13:2670:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2670:17:2670:35 | ...::None | | {EXTERNAL LOCATION} | Option | +| main.rs:2670:17:2670:35 | ...::None | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2671:13:2671:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2671:13:2671:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2671:17:2671:35 | ...::None::<...> | | {EXTERNAL LOCATION} | Option | +| main.rs:2671:17:2671:35 | ...::None::<...> | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2673:26:2673:28 | opt | | {EXTERNAL LOCATION} | Option | +| main.rs:2673:26:2673:28 | opt | T | main.rs:2673:23:2673:23 | T | +| main.rs:2673:42:2673:42 | x | | main.rs:2673:23:2673:23 | T | +| main.rs:2673:48:2673:49 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2675:13:2675:13 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2675:13:2675:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2675:17:2675:20 | None | | {EXTERNAL LOCATION} | Option | +| main.rs:2675:17:2675:20 | None | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2676:9:2676:24 | pin_option(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2676:20:2676:20 | x | | {EXTERNAL LOCATION} | Option | +| main.rs:2676:20:2676:20 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2676:23:2676:23 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2683:13:2683:13 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2683:13:2683:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2683:13:2683:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2683:17:2683:39 | ...::A {...} | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2683:17:2683:39 | ...::A {...} | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2683:17:2683:39 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2683:37:2683:37 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2684:13:2684:13 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2684:13:2684:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2684:13:2684:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2684:40:2684:40 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2684:40:2684:40 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2684:40:2684:40 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2685:13:2685:13 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2685:13:2685:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2685:13:2685:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2685:17:2685:52 | ...::A {...} | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2685:17:2685:52 | ...::A {...} | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2685:17:2685:52 | ...::A {...} | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2685:50:2685:50 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2687:13:2687:13 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2687:13:2687:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2687:13:2687:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2687:17:2689:9 | ...::B::<...> {...} | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2687:17:2689:9 | ...::B::<...> {...} | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2687:17:2689:9 | ...::B::<...> {...} | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2688:20:2688:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2691:29:2691:29 | e | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2691:29:2691:29 | e | T1 | main.rs:2691:26:2691:26 | T | +| main.rs:2691:29:2691:29 | e | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2691:53:2691:53 | x | | main.rs:2691:26:2691:26 | T | +| main.rs:2691:59:2691:60 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2694:13:2694:13 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2694:13:2694:13 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2694:13:2694:13 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2694:17:2696:9 | ...::B {...} | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2694:17:2696:9 | ...::B {...} | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2694:17:2696:9 | ...::B {...} | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2695:20:2695:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | +| main.rs:2697:9:2697:27 | pin_my_either(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2697:23:2697:23 | x | | main.rs:2678:9:2681:9 | MyEither | +| main.rs:2697:23:2697:23 | x | T1 | {EXTERNAL LOCATION} | i32 | +| main.rs:2697:23:2697:23 | x | T2 | {EXTERNAL LOCATION} | String | +| main.rs:2697:26:2697:26 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2699:13:2699:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2699:13:2699:13 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:2699:13:2699:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2699:17:2699:29 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:2699:17:2699:29 | ...::Ok(...) | E | {EXTERNAL LOCATION} | String | +| main.rs:2699:17:2699:29 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2699:28:2699:28 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2700:13:2700:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2700:13:2700:13 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:2700:13:2700:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2700:38:2700:38 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2700:38:2700:38 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:2700:38:2700:38 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2701:13:2701:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2701:13:2701:13 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:2701:13:2701:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2701:17:2701:44 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:2701:17:2701:44 | ...::Ok(...) | E | {EXTERNAL LOCATION} | String | +| main.rs:2701:17:2701:44 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2701:43:2701:43 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2702:13:2702:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2702:13:2702:13 | x | E | {EXTERNAL LOCATION} | String | +| main.rs:2702:13:2702:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2702:17:2702:44 | ...::Ok::<...>(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:2702:17:2702:44 | ...::Ok::<...>(...) | E | {EXTERNAL LOCATION} | String | +| main.rs:2702:17:2702:44 | ...::Ok::<...>(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2702:43:2702:43 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2704:29:2704:31 | res | | {EXTERNAL LOCATION} | Result | +| main.rs:2704:29:2704:31 | res | E | main.rs:2704:26:2704:26 | E | +| main.rs:2704:29:2704:31 | res | T | main.rs:2704:23:2704:23 | T | +| main.rs:2704:48:2704:48 | x | | main.rs:2704:26:2704:26 | E | +| main.rs:2704:54:2704:55 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2706:13:2706:13 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2706:13:2706:13 | x | E | {EXTERNAL LOCATION} | bool | +| main.rs:2706:13:2706:13 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2706:17:2706:29 | ...::Ok(...) | | {EXTERNAL LOCATION} | Result | +| main.rs:2706:17:2706:29 | ...::Ok(...) | E | {EXTERNAL LOCATION} | bool | +| main.rs:2706:17:2706:29 | ...::Ok(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2706:28:2706:28 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2707:9:2707:28 | pin_result(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2707:20:2707:20 | x | | {EXTERNAL LOCATION} | Result | +| main.rs:2707:20:2707:20 | x | E | {EXTERNAL LOCATION} | bool | +| main.rs:2707:20:2707:20 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2707:23:2707:27 | false | | {EXTERNAL LOCATION} | bool | +| main.rs:2709:17:2709:17 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2709:17:2709:17 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2709:17:2709:17 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2709:21:2709:30 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | +| main.rs:2709:21:2709:30 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2709:21:2709:30 | ...::new(...) | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2710:9:2710:9 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2710:9:2710:9 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2710:9:2710:9 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2710:9:2710:17 | x.push(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2710:16:2710:16 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2712:13:2712:13 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:2712:17:2712:34 | ...::default(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2713:9:2713:9 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2713:9:2713:9 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2713:9:2713:9 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2713:9:2713:17 | x.push(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2713:16:2713:16 | y | | {EXTERNAL LOCATION} | i32 | +| main.rs:2715:13:2715:13 | s | | main.rs:2656:5:2657:13 | S | +| main.rs:2715:17:2715:34 | ...::default(...) | | main.rs:2656:5:2657:13 | S | +| main.rs:2716:9:2716:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2716:14:2716:14 | s | | main.rs:2656:5:2657:13 | S | +| main.rs:2718:13:2718:13 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:2718:17:2718:31 | free_function(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2719:9:2719:9 | x | | {EXTERNAL LOCATION} | Vec | +| main.rs:2719:9:2719:9 | x | A | {EXTERNAL LOCATION} | Global | +| main.rs:2719:9:2719:9 | x | T | {EXTERNAL LOCATION} | i32 | +| main.rs:2719:9:2719:17 | x.push(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2719:16:2719:16 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:2726:14:2726:17 | SelfParam | | main.rs:2724:5:2732:5 | Self [trait MyTrait] | +| main.rs:2729:14:2729:18 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2729:14:2729:18 | SelfParam | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | +| main.rs:2729:21:2729:25 | other | | {EXTERNAL LOCATION} | & | +| main.rs:2729:21:2729:25 | other | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | +| main.rs:2729:44:2731:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2729:44:2731:9 | { ... } | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | +| main.rs:2730:13:2730:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2730:13:2730:16 | self | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | +| main.rs:2730:13:2730:20 | self.f() | | {EXTERNAL LOCATION} | & | +| main.rs:2730:13:2730:20 | self.f() | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | +| main.rs:2736:14:2736:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | +| main.rs:2736:28:2738:9 | { ... } | | {EXTERNAL LOCATION} | i32 | +| main.rs:2737:13:2737:16 | self | | {EXTERNAL LOCATION} | i32 | +| main.rs:2743:14:2743:17 | SelfParam | | {EXTERNAL LOCATION} | usize | +| main.rs:2743:28:2745:9 | { ... } | | {EXTERNAL LOCATION} | usize | +| main.rs:2744:13:2744:16 | self | | {EXTERNAL LOCATION} | usize | +| main.rs:2750:14:2750:17 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2750:14:2750:17 | SelfParam | TRef | main.rs:2748:10:2748:10 | T | +| main.rs:2750:28:2752:9 | { ... } | | {EXTERNAL LOCATION} | & | +| main.rs:2750:28:2752:9 | { ... } | TRef | main.rs:2748:10:2748:10 | T | +| main.rs:2751:13:2751:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2751:13:2751:16 | self | TRef | main.rs:2748:10:2748:10 | T | +| main.rs:2755:25:2759:5 | { ... } | | {EXTERNAL LOCATION} | usize | +| main.rs:2756:17:2756:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2756:17:2756:17 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2756:21:2756:21 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2756:21:2756:21 | 0 | | {EXTERNAL LOCATION} | usize | +| main.rs:2757:9:2757:9 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2757:9:2757:9 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2757:9:2757:17 | ... = ... | | {EXTERNAL LOCATION} | () | +| main.rs:2757:13:2757:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2757:13:2757:13 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2757:13:2757:17 | x.f() | | {EXTERNAL LOCATION} | i32 | +| main.rs:2757:13:2757:17 | x.f() | | {EXTERNAL LOCATION} | usize | +| main.rs:2758:9:2758:9 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2758:9:2758:9 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2761:12:2769:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2762:13:2762:13 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2762:24:2762:24 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2762:24:2762:24 | 0 | | {EXTERNAL LOCATION} | usize | +| main.rs:2763:13:2763:13 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2763:13:2763:13 | y | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2763:17:2763:18 | &1 | | {EXTERNAL LOCATION} | & | +| main.rs:2763:17:2763:18 | &1 | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2763:18:2763:18 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2764:13:2764:13 | z | | {EXTERNAL LOCATION} | & | +| main.rs:2764:13:2764:13 | z | TRef | {EXTERNAL LOCATION} | usize | +| main.rs:2764:17:2764:17 | x | | {EXTERNAL LOCATION} | usize | +| main.rs:2764:17:2764:22 | x.g(...) | | {EXTERNAL LOCATION} | & | +| main.rs:2764:17:2764:22 | x.g(...) | TRef | {EXTERNAL LOCATION} | usize | +| main.rs:2764:21:2764:21 | y | | {EXTERNAL LOCATION} | & | +| main.rs:2764:21:2764:21 | y | TRef | {EXTERNAL LOCATION} | i32 | +| main.rs:2766:13:2766:13 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2766:17:2766:17 | 0 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2767:13:2767:13 | y | | {EXTERNAL LOCATION} | usize | +| main.rs:2767:24:2767:24 | 1 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2767:24:2767:24 | 1 | | {EXTERNAL LOCATION} | usize | +| main.rs:2768:13:2768:13 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:2768:17:2768:17 | x | | {EXTERNAL LOCATION} | i32 | +| main.rs:2768:17:2768:24 | x.max(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2768:23:2768:23 | y | | {EXTERNAL LOCATION} | usize | +| main.rs:2783:22:2783:26 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2783:22:2783:26 | SelfParam | TRef | main.rs:2782:5:2784:5 | Self [trait Container] | +| main.rs:2786:34:2786:34 | c | | {EXTERNAL LOCATION} | & | +| main.rs:2786:34:2786:34 | c | TRef | main.rs:2786:15:2786:31 | T | +| main.rs:2786:49:2788:5 | { ... } | | {EXTERNAL LOCATION} | bool | +| main.rs:2787:9:2787:9 | c | | {EXTERNAL LOCATION} | & | +| main.rs:2787:9:2787:9 | c | TRef | main.rs:2786:15:2786:31 | T | +| main.rs:2787:9:2787:21 | c.get_input() | | {EXTERNAL LOCATION} | i64 | +| main.rs:2787:9:2787:27 | ... == ... | | {EXTERNAL LOCATION} | bool | +| main.rs:2787:26:2787:27 | 42 | | {EXTERNAL LOCATION} | i32 | +| main.rs:2791:22:2791:26 | SelfParam | | {EXTERNAL LOCATION} | & | +| main.rs:2791:22:2791:26 | SelfParam | TRef | main.rs:2780:5:2780:21 | Gen | +| main.rs:2791:22:2791:26 | SelfParam | TRef.T | main.rs:2790:10:2790:17 | GT | +| main.rs:2791:35:2793:9 | { ... } | | main.rs:2790:10:2790:17 | GT | +| main.rs:2792:13:2792:16 | self | | {EXTERNAL LOCATION} | & | +| main.rs:2792:13:2792:16 | self | TRef | main.rs:2780:5:2780:21 | Gen | +| main.rs:2792:13:2792:16 | self | TRef.T | main.rs:2790:10:2790:17 | GT | +| main.rs:2792:13:2792:18 | self.0 | | main.rs:2790:10:2790:17 | GT | +| main.rs:2796:15:2800:5 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2797:13:2797:13 | v | | {EXTERNAL LOCATION} | i64 | +| main.rs:2797:17:2797:34 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | +| main.rs:2798:13:2798:13 | g | | main.rs:2780:5:2780:21 | Gen | +| main.rs:2798:13:2798:13 | g | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2798:17:2798:22 | Gen(...) | | main.rs:2780:5:2780:21 | Gen | +| main.rs:2798:17:2798:22 | Gen(...) | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2798:21:2798:21 | v | | {EXTERNAL LOCATION} | i64 | +| main.rs:2799:13:2799:13 | _ | | {EXTERNAL LOCATION} | bool | +| main.rs:2799:17:2799:26 | my_get(...) | | {EXTERNAL LOCATION} | bool | +| main.rs:2799:24:2799:25 | &g | | {EXTERNAL LOCATION} | & | +| main.rs:2799:24:2799:25 | &g | TRef | main.rs:2780:5:2780:21 | Gen | +| main.rs:2799:24:2799:25 | &g | TRef.T | {EXTERNAL LOCATION} | i64 | +| main.rs:2799:25:2799:25 | g | | main.rs:2780:5:2780:21 | Gen | +| main.rs:2799:25:2799:25 | g | T | {EXTERNAL LOCATION} | i64 | +| main.rs:2803:11:2838:1 | { ... } | | {EXTERNAL LOCATION} | () | +| main.rs:2804:5:2804:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2805:5:2805:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2806:5:2806:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | +| main.rs:2806:20:2806:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2806:41:2806:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | +| main.rs:2807:5:2807:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2808:5:2808:41 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2809:5:2809:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2810:5:2810:30 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2811:5:2811:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2812:5:2812:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2813:5:2813:32 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2814:5:2814:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2815:5:2815:36 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2816:5:2816:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2817:5:2817:29 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2818:5:2818:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2819:5:2819:24 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2820:5:2820:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2821:5:2821:18 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2822:5:2822:15 | ...::f(...) | | {EXTERNAL LOCATION} | dyn Future | +| main.rs:2822:5:2822:15 | ...::f(...) | dyn(Output) | {EXTERNAL LOCATION} | () | +| main.rs:2823:5:2823:19 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2824:5:2824:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2825:5:2825:14 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2826:5:2826:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2827:5:2827:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2828:5:2828:43 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2829:5:2829:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2830:5:2830:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2831:5:2831:28 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2832:5:2832:23 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2833:5:2833:41 | ...::test_all_patterns(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2834:5:2834:49 | ...::box_patterns(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2835:5:2835:20 | ...::test(...) | | {EXTERNAL LOCATION} | () | +| main.rs:2836:5:2836:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | +| main.rs:2836:5:2836:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | +| main.rs:2836:5:2836:20 | ...::f(...) | T | main.rs:2564:5:2566:5 | dyn MyTrait | +| main.rs:2836:5:2836:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2836:16:2836:19 | true | | {EXTERNAL LOCATION} | bool | +| main.rs:2837:5:2837:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:4:19:4:23 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:4:19:4:23 | SelfParam | TRef | overloading.rs:2:5:11:5 | Self [trait FirstTrait] | | overloading.rs:4:34:6:9 | { ... } | | {EXTERNAL LOCATION} | bool | From bfc37e547f42cf96a930dde58897f534057d5fa3 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Thu, 25 Jun 2026 12:07:31 +0200 Subject: [PATCH 2/3] Shared: Generalize `typeConstraintBaseTypeMatch` --- .../test/library-tests/type-inference/main.rs | 2 +- .../type-inference/type-inference.expected | 2 + .../typeinference/internal/TypeInference.qll | 136 ++++++++---------- 3 files changed, 66 insertions(+), 74 deletions(-) diff --git a/rust/ql/test/library-tests/type-inference/main.rs b/rust/ql/test/library-tests/type-inference/main.rs index cbb3a521a6f1..392380df0f77 100644 --- a/rust/ql/test/library-tests/type-inference/main.rs +++ b/rust/ql/test/library-tests/type-inference/main.rs @@ -469,7 +469,7 @@ mod method_non_parametric_trait_impl { let i = thing.convert_to(); // $ type=i:S1 target=T::convert_to let j = convert_to(thing); // $ target=convert_to $ MISSING: type=j:S1 -- the blanket implementation `impl> ConvertTo for T` is currently not included in the constraint analysis - let x = call_trait_m1_trait2_m3(MyThing { a: S2 }); // $ target=call_trait_m1_trait2_m3 $ MISSING: type=x:S1 + let x = call_trait_m1_trait2_m3(MyThing { a: S2 }); // $ target=call_trait_m1_trait2_m3 type=x:S1 } } diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index 8cb3356c8216..20f20e21861c 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -8371,6 +8371,8 @@ inferType | main.rs:469:17:469:34 | thing.convert_to() | | main.rs:249:5:250:14 | S1 | | main.rs:470:28:470:32 | thing | | main.rs:238:5:241:5 | MyThing | | main.rs:470:28:470:32 | thing | A | main.rs:249:5:250:14 | S1 | +| main.rs:472:13:472:13 | x | | main.rs:249:5:250:14 | S1 | +| main.rs:472:17:472:58 | call_trait_m1_trait2_m3(...) | | main.rs:249:5:250:14 | S1 | | main.rs:472:41:472:57 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | | main.rs:472:41:472:57 | MyThing {...} | A | main.rs:251:5:252:14 | S2 | | main.rs:472:54:472:55 | S2 | | main.rs:251:5:252:14 | S2 | diff --git a/shared/typeinference/codeql/typeinference/internal/TypeInference.qll b/shared/typeinference/codeql/typeinference/internal/TypeInference.qll index 24a6392c6be1..af818dc94d95 100644 --- a/shared/typeinference/codeql/typeinference/internal/TypeInference.qll +++ b/shared/typeinference/codeql/typeinference/internal/TypeInference.qll @@ -1346,6 +1346,14 @@ module Make1 Input1> { module MatchingWithEnvironment { private import Input + pragma[nomagic] + private TypeParameter getDeclTypeParameter(Declaration decl, TypeArgumentPosition tapos) { + exists(TypeParameterPosition tppos | + result = decl.getTypeParameter(tppos) and + typeArgumentParameterPositionMatch(tapos, tppos) + ) + } + /** * Gets the type of the type argument at `path` in `a` that corresponds to * the type parameter `tp` in `target`, if any. @@ -1356,11 +1364,11 @@ module Make1 Input1> { */ bindingset[a, target] pragma[inline_late] - private Type getTypeArgument(Access a, Declaration target, TypeParameter tp, TypePath path) { - exists(TypeArgumentPosition tapos, TypeParameterPosition tppos | + Type getTypeArgument(Access a, Declaration target, TypeParameter tp, TypePath path) { + exists(TypeArgumentPosition tapos | result = a.getTypeArgument(tapos, path) and - tp = target.getTypeParameter(tppos) and - typeArgumentParameterPositionMatch(tapos, tppos) + tp = getDeclTypeParameter(target, tapos) and + not isPseudoType(result) ) } @@ -1526,42 +1534,35 @@ module Make1 Input1> { private module AccessConstraint { private predicate relevantAccessConstraint( - Access a, AccessEnvironment e, Declaration target, AccessPosition apos, TypePath path, + Access a, AccessEnvironment e, Declaration target, TypeParameter constrainedTp, TypeMention constraint ) { target = a.getTarget(e) and - typeParameterHasConstraint(target, apos, _, path, constraint) + typeParameterHasConstraint(target, constrainedTp, constraint) } private newtype TRelevantAccess = - MkRelevantAccess(Access a, AccessPosition apos, AccessEnvironment e, TypePath path) { - relevantAccessConstraint(a, e, _, apos, path, _) + MkRelevantAccess(Access a, AccessEnvironment e, TypeParameter constrainedTp) { + relevantAccessConstraint(a, e, _, constrainedTp, _) } - /** - * If the access `a` for `apos`, environment `e`, and `path` has an inferred type - * which type inference requires to satisfy some constraint. - */ private class RelevantAccess extends MkRelevantAccess { Access a; - AccessPosition apos; AccessEnvironment e; - TypePath path; + TypeParameter constrainedTp; - RelevantAccess() { this = MkRelevantAccess(a, apos, e, path) } + RelevantAccess() { this = MkRelevantAccess(a, e, constrainedTp) } pragma[nomagic] - Type getTypeAt(TypePath suffix) { - result = a.getInferredType(e, apos, path.appendInverse(suffix)) - } + Type getTypeAt(TypePath path) { typeMatch(a, e, _, path, result, constrainedTp) } /** Gets the constraint that this relevant access should satisfy. */ TypeMention getConstraint(Declaration target) { - relevantAccessConstraint(a, e, target, apos, path, result) + relevantAccessConstraint(a, e, target, constrainedTp, result) } string toString() { - result = a.toString() + ", " + apos.toString() + ", " + path.toString() + result = a.toString() + ", " + e.toString() + ", " + constrainedTp.toString() } Location getLocation() { result = a.getLocation() } @@ -1577,7 +1578,7 @@ module Make1 Input1> { class TypeMatchingContext = Access; TypeMatchingContext getTypeMatchingContext(RelevantAccess at) { - at = MkRelevantAccess(result, _, _, _) + at = MkRelevantAccess(result, _, _) } pragma[nomagic] @@ -1591,41 +1592,32 @@ module Make1 Input1> { SatisfiesTypeParameterConstraintInput>; pragma[nomagic] - predicate satisfiesConstraintAtTypeParameter( + predicate argSatisfiesConstraintAtTypeParameter( Access a, AccessEnvironment e, Declaration target, AccessPosition apos, TypePath prefix, TypeMention constraint, TypePath pathToTypeParamInConstraint, TypePath pathToTypeParamInSub ) { - exists(RelevantAccess ra | - ra = MkRelevantAccess(a, apos, e, prefix) and + exists(RelevantAccess ra, TypeParameter constrainedTp | + ra = MkRelevantAccess(a, e, constrainedTp) and + relevantAccessConstraint(a, e, target, constrainedTp, constraint) and SatisfiesTypeParameterConstraint::satisfiesConstraintAtTypeParameter(ra, constraint, pathToTypeParamInConstraint, pathToTypeParamInSub) and - constraint = ra.getConstraint(target) + exists(DeclarationPosition dpos | + accessDeclarationPositionMatch(apos, dpos) and + constrainedTp = target.getDeclaredType(dpos, prefix) + ) ) } pragma[nomagic] predicate satisfiesConstraint( - Access a, AccessEnvironment e, Declaration target, AccessPosition apos, TypePath prefix, + Access a, AccessEnvironment e, Declaration target, TypeParameter constrainedTp, TypeMention constraint, TypePath path, Type t ) { exists(RelevantAccess ra | - ra = MkRelevantAccess(a, apos, e, prefix) and - SatisfiesTypeParameterConstraint::satisfiesConstraint(ra, constraint, path, t) and - constraint = ra.getConstraint(target) - ) - } - - pragma[nomagic] - predicate satisfiesConstraintThrough( - Access a, AccessEnvironment e, Declaration target, AccessPosition apos, TypePath prefix, - TypeAbstraction abs, TypeMention constraint, TypePath path, Type t - ) { - exists(RelevantAccess ra | - ra = MkRelevantAccess(a, apos, e, prefix) and - SatisfiesTypeParameterConstraint::satisfiesConstraintThrough(ra, abs, constraint, path, - t) and - constraint = ra.getConstraint(target) + ra = MkRelevantAccess(a, e, constrainedTp) and + relevantAccessConstraint(a, e, target, constrainedTp, constraint) and + SatisfiesTypeParameterConstraint::satisfiesConstraint(ra, constraint, path, t) ) } } @@ -1644,51 +1636,44 @@ module Make1 Input1> { } /** - * Holds if the type parameter `constrainedTp` occurs in the declared type of - * `target` at `apos` and `pathToConstrained`, and there is a constraint - * `constraint` on `constrainedTp`. + * Holds if the type parameter `constrainedTp` applies to `target` and the + * constraint `constraint` applies to `constrainedTp`. */ pragma[nomagic] private predicate typeParameterHasConstraint( - Declaration target, AccessPosition apos, TypeParameter constrainedTp, - TypePath pathToConstrained, TypeMention constraint + Declaration target, TypeParameter constrainedTp, TypeMention constraint ) { - exists(DeclarationPosition dpos | - accessDeclarationPositionMatch(apos, dpos) and - constrainedTp = target.getTypeParameter(_) and - constrainedTp = target.getDeclaredType(dpos, pathToConstrained) and - constraint = getATypeParameterConstraint(constrainedTp, target) - ) + constrainedTp = target.getTypeParameter(_) and + constraint = getATypeParameterConstraint(constrainedTp, target) } /** - * Holds if the declared type of `target` contains a type parameter at - * `apos` and `pathToConstrained` that must satisfy `constraint` and `tp` - * occurs at `pathToTp` in `constraint`. + * Holds if the type parameter `constrainedTp` applies to `target`, the + * constraint `constraint` applies to `constrainedTp`, and type parameter + * `tp` occurs at `pathToTp` in `constraint`. * * For example, in + * * ```csharp * interface IFoo { } * T1 M(T2 item) where T2 : IFoo { } * ``` - * with the method declaration being the target and with `apos` - * corresponding to `item`, we have the following - * - `pathToConstrained = ""`, - * - `tp = T1`, + * + * with the method declaration being the target, we have the following + * - `constrainedTp = T2`, * - `constraint = IFoo`, + * - `tp = T1`, and * - `pathToTp = "A"`. */ pragma[nomagic] private predicate typeParameterConstraintHasTypeParameter( - Declaration target, AccessPosition apos, TypePath pathToConstrained, TypeMention constraint, - TypePath pathToTp, TypeParameter tp + Declaration target, TypeParameter constrainedTp, TypeMention constraint, TypePath pathToTp, + TypeParameter tp ) { - exists(TypeParameter constrainedTp | - typeParameterHasConstraint(target, apos, constrainedTp, pathToConstrained, constraint) and - tp = target.getTypeParameter(_) and - tp = constraint.getTypeAt(pathToTp) and - constrainedTp != tp - ) + typeParameterHasConstraint(target, constrainedTp, constraint) and + tp = target.getTypeParameter(_) and + tp = constraint.getTypeAt(pathToTp) and + constrainedTp != tp } pragma[nomagic] @@ -1696,9 +1681,9 @@ module Make1 Input1> { Access a, AccessEnvironment e, Declaration target, TypePath path, Type t, TypeParameter tp ) { not exists(getTypeArgument(a, target, tp, _)) and - exists(TypeMention constraint, AccessPosition apos, TypePath pathToTp, TypePath pathToTp2 | - typeParameterConstraintHasTypeParameter(target, apos, pathToTp2, constraint, pathToTp, tp) and - AccessConstraint::satisfiesConstraint(a, e, target, apos, pathToTp2, constraint, + exists(TypeMention constraint, TypeParameter constrainedTp, TypePath pathToTp | + typeParameterConstraintHasTypeParameter(target, constrainedTp, constraint, pathToTp, tp) and + AccessConstraint::satisfiesConstraint(a, e, target, constrainedTp, constraint, pathToTp.appendInverse(path), t) ) } @@ -1781,7 +1766,7 @@ module Make1 Input1> { Declaration target, TypePath prefix, TypeMention constraint, TypePath pathToTypeParamInConstraint, TypePath pathToTypeParamInSub | - AccessConstraint::satisfiesConstraintAtTypeParameter(a, e, target, apos, prefix, + AccessConstraint::argSatisfiesConstraintAtTypeParameter(a, e, target, apos, prefix, constraint, pathToTypeParamInConstraint, pathToTypeParamInSub) | exists(TypePath suffix | @@ -1847,7 +1832,12 @@ module Make1 Input1> { */ typeMatch(a, e, target, suffix, result, tp) and - typeParameterConstraintHasTypeParameter(target, apos, _, constraint, pathToTp, tp) and + exists(TypeParameter constrainedTp, DeclarationPosition dpos | + typeParameterConstraintHasTypeParameter(target, constrainedTp, constraint, pathToTp, + tp) and + accessDeclarationPositionMatch(apos, dpos) and + constrainedTp = target.getDeclaredType(dpos, _) + ) and pathToTp = pathToTypeParamInConstraint.appendInverse(mid) and path = prefix.append(pathToTypeParamInSub.append(mid).append(suffix)) ) From d70b1b4274ad1ebb945cd1fae49130ed9f0e4412 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Tue, 5 May 2026 12:47:32 +0200 Subject: [PATCH 3/3] Rust: Move more type inference logic into shared library --- .../lib/codeql/rust/internal/CachedStages.qll | 4 +- .../typeinference/BlanketImplementation.qll | 3 +- .../internal/typeinference/FunctionType.qll | 3 +- .../rust/internal/typeinference/Type.qll | 37 +- .../internal/typeinference/TypeInference.qll | 4553 +++++++---------- .../TypeInferenceConsistency.qll | 8 +- .../internal/typeinference/TypeMention.qll | 28 +- .../PathResolutionConsistency.expected | 2 + .../PathResolutionConsistency.expected | 0 .../TypeInferenceConsistency.expected | 4 - .../PathResolutionConsistency.expected | 1 - .../library-tests/type-inference/closure.rs | 6 +- .../type-inference/dereference.rs | 2 +- .../test/library-tests/type-inference/main.rs | 26 +- .../type-inference/overloading.rs | 2 +- .../type-inference/pattern_matching.rs | 6 +- .../type-inference/type-inference.expected | 1470 +----- .../type-inference/type-inference.ql | 8 +- .../typeinference/internal/TypeInference.qll | 1410 ++++- shared/util/codeql/util/UnboundList.qll | 7 + 20 files changed, 3426 insertions(+), 4154 deletions(-) create mode 100644 rust/ql/test/library-tests/dataflow/models/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/net/CONSISTENCY/PathResolutionConsistency.expected delete mode 100644 rust/ql/test/library-tests/dataflow/sources/web_frameworks/CONSISTENCY/TypeInferenceConsistency.expected diff --git a/rust/ql/lib/codeql/rust/internal/CachedStages.qll b/rust/ql/lib/codeql/rust/internal/CachedStages.qll index a92770ed2384..f76006ddcbc7 100644 --- a/rust/ql/lib/codeql/rust/internal/CachedStages.qll +++ b/rust/ql/lib/codeql/rust/internal/CachedStages.qll @@ -147,9 +147,9 @@ module Stages { predicate backref() { 1 = 1 or - exists(Type t) + (exists(Type t) implies any()) or - exists(inferType(_)) + (exists(inferType(_)) implies any()) } } diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/BlanketImplementation.qll b/rust/ql/lib/codeql/rust/internal/typeinference/BlanketImplementation.qll index 7c56300f3581..68242aa41d36 100644 --- a/rust/ql/lib/codeql/rust/internal/typeinference/BlanketImplementation.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/BlanketImplementation.qll @@ -96,8 +96,7 @@ module SatisfiesBlanketConstraint< Type getTypeAt(TypePath path) { result = at.getTypeAt(blanketPath.appendInverse(path)) and - not result = TNeverType() and - not result = TUnknownType() + not result instanceof PseudoType } string toString() { result = at.toString() + " [blanket at " + blanketPath.toString() + "]" } diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll b/rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll index d128875eda7e..730be63db6a6 100644 --- a/rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll @@ -329,8 +329,7 @@ module ArgIsInstantiationOf { private import Type as T @@ -37,10 +38,9 @@ private module Input1 implements InputSig1 { class Type = T::Type; - predicate isPseudoType(Type t) { - t instanceof UnknownType or - t instanceof NeverType - } + class PseudoType = T::PseudoType; + + class UnknownType = T::UnknownType; class TypeParameter = T::TypeParameter; @@ -51,46 +51,45 @@ private module Input1 implements InputSig1 { TypeParam asTypeParam() { this = TTypeParamTypeArgumentPosition(result) } + predicate isTypeQualifierArgumentPosition() { this = TTypeQualifierArgumentPosition() } + string toString() { result = this.asMethodTypeArgumentPosition().toString() or result = this.asTypeParam().toString() + or + this.isTypeQualifierArgumentPosition() and + result = "type qualifier" } } - private newtype TTypeParameterPosition = - TTypeParamTypeParameterPosition(TypeParam tp) or - TImplicitTypeParameterPosition() + private newtype TTypeParameterPosition = TTypeParamTypeParameterPosition(TypeParameter tp) class TypeParameterPosition extends TTypeParameterPosition { - TypeParam asTypeParam() { this = TTypeParamTypeParameterPosition(result) } - - /** - * Holds if this is the implicit type parameter position used to represent - * parameters that are never passed explicitly as arguments. - */ - predicate isImplicit() { this = TImplicitTypeParameterPosition() } + TypeParameter asTypeParameter() { this = TTypeParamTypeParameterPosition(result) } - string toString() { - result = this.asTypeParam().toString() - or - result = "Implicit" and this.isImplicit() + TypeParam asTypeParam() { + result = this.asTypeParameter().(TypeParamTypeParameter).getTypeParam() } - } - /** Holds if `typeParam`, `param` and `ppos` all concern the same `TypeParam`. */ - additional predicate typeParamMatchPosition( - TypeParam typeParam, TypeParamTypeParameter param, TypeParameterPosition ppos - ) { - typeParam = param.getTypeParam() and typeParam = ppos.asTypeParam() + string toString() { result = this.asTypeParameter().toString() } } bindingset[apos] bindingset[ppos] predicate typeArgumentParameterPositionMatch(TypeArgumentPosition apos, TypeParameterPosition ppos) { - apos.asTypeParam() = ppos.asTypeParam() + TTypeParamTypeParameter(apos.asTypeParam()) = ppos.asTypeParameter() or apos.asMethodTypeArgumentPosition() = ppos.asTypeParam().getPosition() + or + // Type qualifiers can match against implicit `Self` type parameters and blanket + // type parameters. + apos.isTypeQualifierArgumentPosition() and + ( + ppos.asTypeParameter() instanceof SelfTypeParameter + or + exists(ImplItemNode i | ppos.asTypeParam() = i.getBlanketImplementationTypeParam()) + ) } int getTypeParameterId(TypeParameter tp) { @@ -272,382 +271,724 @@ private module M2 = Make2; import M2 -module Consistency { - import M2::Consistency +private module Input3 implements InputSig3 { + private import rust as Rust + private import codeql.rust.elements.internal.OperationImpl::Impl as OperationImpl - private Type inferCertainTypeAdj(AstNode n, TypePath path) { - result = CertainTypeInference::inferCertainType(n, path) and - not result = TNeverType() + predicate cacheRevRef() { + Stages::TypeInferenceStage::ref() + or + (implicitDerefChainBorrow(_, _, _) implies any()) + or + (exists(resolveCallTarget(_, _)) implies any()) + or + (exists(resolveStructFieldExpr(_, _)) implies any()) + or + (exists(resolveTupleFieldExpr(_, _)) implies any()) } - predicate nonUniqueCertainType(AstNode n, TypePath path, Type t) { - strictcount(inferCertainTypeAdj(n, path)) > 1 and - t = inferCertainTypeAdj(n, path) and - // Suppress the inconsistency if `n` is a self parameter and the type - // mention for the self type has multiple types for a path. - not exists(ImplItemNode impl, TypePath selfTypePath | - n = impl.getAnAssocItem().(Function).getSelfParam() and - strictcount(impl.(Impl).getSelfTy().(TypeMention).getTypeAt(selfTypePath)) > 1 - ) + class BoolType extends DataType { + BoolType() { this.getTypeItem() instanceof Builtins::Bool } } -} - -/** A function without a `self` parameter. */ -private class NonMethodFunction extends Function { - NonMethodFunction() { not this.hasSelfParam() } -} - -private module ImplOrTraitItemNodeOption = Option; - -private class ImplOrTraitItemNodeOption = ImplOrTraitItemNodeOption::Option; -private class FunctionDeclaration extends Function { - private ImplOrTraitItemNodeOption parent; + class AstNode = Rust::AstNode; - FunctionDeclaration() { - not this = any(ImplOrTraitItemNode i).getAnAssocItem() and parent.isNone() + // todo: remove + TypeMention getTypeAnnotation(AstNode n) { + exists(Static static | + n = static and + result = static.getTypeRepr() + ) or - this = parent.asSome().getASuccessor(_) + exists(Const c | + n = c and + result = c.getTypeRepr() + ) } - /** Holds if this function is associated with `i`. */ - predicate isAssoc(ImplOrTraitItemNode i) { i = parent.asSome() } + class Expr = Rust::Expr; - /** Holds if this is a free function. */ - predicate isFree() { parent.isNone() } + class Cast extends CastExpr { + TypeMention getType() { result = this.getTypeRepr() } + } - /** Holds if this function is valid for `i`. */ - predicate isFor(ImplOrTraitItemNodeOption i) { i = parent } + class Switch extends Rust::MatchExpr { + Expr getExpr() { result = this.getScrutinee() } - /** - * Holds if this function is valid for `i`. If `i` is a trait or `impl` block then - * this function must be declared directly inside `i`. - */ - predicate isDirectlyFor(ImplOrTraitItemNodeOption i) { - i.isNone() and - this.isFree() - or - this = i.asSome().getAnAssocItem() + Case getCase(int index) { result = this.getArm(index) } } - TypeParam getTypeParam(ImplOrTraitItemNodeOption i) { - i = parent and - result = [this.getGenericParamList().getATypeParam(), i.asSome().getTypeParam(_)] + class Case extends Rust::MatchArm { + AstNode getAPattern() { result = this.getPat() } + + AstNode getBody() { result = this.getExpr() } } - TypeParameter getTypeParameter(ImplOrTraitItemNodeOption i, TypeParameterPosition ppos) { - typeParamMatchPosition(this.getTypeParam(i), result, ppos) - or - // For every `TypeParam` of this function, any associated types accessed on - // the type parameter are also type parameters. - ppos.isImplicit() and - result.(TypeParamAssociatedTypeTypeParameter).getTypeParam() = this.getTypeParam(i) - or - i = parent and - ( - ppos.isImplicit() and result = TSelfTypeParameter(i.asSome()) - or - ppos.isImplicit() and result.(AssociatedTypeTypeParameter).getTrait() = i.asSome() - or - ppos.isImplicit() and this = result.(ImplTraitTypeTypeParameter).getFunction() - ) + class ConditionalExpr extends IfExpr { + Expr getThen() { result = super.getThen() } } - pragma[nomagic] - Type getParameterType(ImplOrTraitItemNodeOption i, FunctionPosition pos, TypePath path) { - i = parent and - ( - not pos.isReturn() and - result = getAssocFunctionTypeAt(this, i.asSome(), pos, path) - or - i.isNone() and - result = this.getParam(pos.asPosition()).getTypeRepr().(TypeMention).getTypeAt(path) - ) + class BinaryExpr extends Rust::BinaryExpr { + Expr getLeftOperand() { result = super.getLhs() } + + Expr getRightOperand() { result = super.getRhs() } } - private Type resolveRetType(ImplOrTraitItemNodeOption i, TypePath path) { - i = parent and - ( - result = - getAssocFunctionTypeAt(this, i.asSome(), any(FunctionPosition ret | ret.isReturn()), path) + class LogicalAndExpr extends BinaryExpr, Rust::LogicalAndExpr { } + + class LogicalOrExpr extends BinaryExpr, Rust::LogicalOrExpr { } + + abstract class Assignment extends BinaryExpr { } + + class AssignExpr extends Assignment, Rust::AssignmentExpr { } + + class ParenExpr = Rust::ParenExpr; + + private newtype TLocalVariable = + TVariableVariable(Rust::Variable v) or + TConstVariable(Const c) or + TStaticVariable(Static s) + + class LocalVariable extends TLocalVariable { + Rust::Variable asVariable() { this = TVariableVariable(result) } + + Const asConst() { this = TConstVariable(result) } + + Static asStatic() { this = TStaticVariable(result) } + + AstNode getDefiningNode() { + result = this.asVariable().getPat().getName() or + result = this.asVariable().getParameter().(SelfParam) or + result = this.asConst() or + result = this.asStatic() + } + + Expr getAnAccess() { + result = this.asVariable().getAnAccess() or - i.isNone() and - result = getReturnTypeMention(this).getTypeAt(path) - ) - } + result = this.asConst().getAnAccess() + or + result = this.asStatic().getAnAccess() + } - Type getReturnType(ImplOrTraitItemNodeOption i, TypePath path) { - if this.isAsync() - then - i = parent and - path.isEmpty() and - result = getFutureTraitType() + string toString() { + result = this.asVariable().toString() or - exists(TypePath suffix | - result = this.resolveRetType(i, suffix) and - path = TypePath::cons(getDynFutureOutputTypeParameter(), suffix) - ) - else result = this.resolveRetType(i, path) - } + result = this.asConst().toString() + or + result = this.asStatic().toString() + } - string toStringExt(ImplOrTraitItemNode i) { - i = parent.asSome() and - if this = i.getAnAssocItem() - then result = this.toString() - else - result = this + " [" + [i.(Impl).getSelfTy().toString(), i.(Trait).getName().toString()] + "]" + Location getLocation() { result = this.getDefiningNode().getLocation() } } -} -private class AssocFunctionDeclaration extends FunctionDeclaration { - AssocFunctionDeclaration() { this.isAssoc(_) } -} + abstract class LocalVariableDeclaration extends AstNode { + abstract predicate isCoercionSite(); -pragma[nomagic] -private TypeMention getCallExprTypeMentionArgument(CallExpr ce, TypeArgumentPosition apos) { - exists(Path p, int i | p = CallExprImpl::getFunctionPath(ce) | - apos.asTypeParam() = resolvePath(p).getTypeParam(pragma[only_bind_into](i)) and - result = getPathTypeArgument(p, pragma[only_bind_into](i)) - ) -} + abstract TypeMention getType(); -pragma[nomagic] -private Type getCallExprTypeArgument(CallExpr ce, TypeArgumentPosition apos, TypePath path) { - result = getCallExprTypeMentionArgument(ce, apos).getTypeAt(path) - or - // Handle constructions that use `Self(...)` syntax - exists(Path p, TypePath path0 | - p = CallExprImpl::getFunctionPath(ce) and - result = p.(TypeMention).getTypeAt(path0) and - path0.isCons(TTypeParamTypeParameter(apos.asTypeParam()), path) - ) -} + abstract AstNode getPattern(); -/** Gets the type annotation that applies to `n`, if any. */ -private TypeMention getTypeAnnotation(AstNode n) { - exists(LetStmt let | - n = let.getPat() and - result = let.getTypeRepr() - ) - or - result = n.(SelfParam).getTypeRepr() - or - exists(Param p | - n = p.getPat() and - result = p.getTypeRepr() - ) -} + abstract AstNode getInitializer(); + } -/** Gets the type of `n`, which has an explicit type annotation. */ -pragma[nomagic] -private Type inferAnnotatedType(AstNode n, TypePath path) { - result = getTypeAnnotation(n).getTypeAt(path) - or - result = n.(ShorthandSelfParameterMention).getTypeAt(path) -} + private class LetExprDeclaration extends LocalVariableDeclaration instanceof LetExpr { + override predicate isCoercionSite() { not super.getPat() instanceof IdentPat } -pragma[nomagic] -private Type inferFunctionBodyType(AstNode n, TypePath path) { - exists(Function f | - n = f.getFunctionBody() and - result = getReturnTypeMention(f).getTypeAt(path) and - not exists(ImplTraitReturnType i | i.getFunction() = f | - result = i or result = i.getATypeParameter() - ) - ) -} + override TypeMention getType() { none() } -/** - * Holds if `me` is a call to the `panic!` macro. - * - * `panic!` needs special treatment, because it expands to a block expression - * that looks like it should have type `()` instead of the correct `!` type. - */ -pragma[nomagic] -private predicate isPanicMacroCall(MacroExpr me) { - me.getMacroCall().resolveMacro().(MacroRules).getName().getText() = "panic" -} + override AstNode getPattern() { result = super.getPat() } -// Due to "binding modes" the type of the pattern is not necessarily the -// same as the type of the initializer. However, when the pattern is an -// identifier pattern, its type is guaranteed to be the same as the type of the -// initializer. -private predicate identLetStmt(LetStmt let, IdentPat lhs, Expr rhs) { - let.getPat() = lhs and - let.getInitializer() = rhs -} + override AstNode getInitializer() { result = super.getScrutinee() } + } -/** - * Gets the root type of a closure. - * - * We model closures as `dyn Fn` trait object types. A closure might implement - * only `Fn`, `FnMut`, or `FnOnce`. But since `Fn` is a subtrait of the others, - * giving closures the type `dyn Fn` works well in practice -- even if not - * entirely accurate. - */ -private DynTraitType closureRootType() { - result = TDynTraitType(any(FnTrait t)) // always exists because of the mention in `builtins/mentions.rs` -} + private class LetStmtDeclaration extends LocalVariableDeclaration instanceof LetStmt { + override predicate isCoercionSite() { + super.hasTypeRepr() + or + // Due to "binding modes" the type of the pattern is not necessarily the + // same as the type of the initializer. However, when the pattern is an + // identifier pattern, its type is guaranteed to be the same as the type of the + // initializer. + not this.getPattern() instanceof IdentPat + } -/** Gets the path to a closure's return type. */ -private TypePath closureReturnPath() { - result = - TypePath::singleton(TDynTraitTypeParameter(any(FnTrait t), any(FnOnceTrait t).getOutputType())) -} + override TypeMention getType() { result = super.getTypeRepr() } -/** Gets the path to a closure's `index`th parameter type, where the arity is `arity`. */ -pragma[nomagic] -private TypePath closureParameterPath(int arity, int index) { - result = - TypePath::cons(TDynTraitTypeParameter(_, any(FnTrait t).getTypeParam()), - TypePath::singleton(getTupleTypeParameter(arity, index))) -} + override AstNode getPattern() { result = super.getPat() } -/** Module for inferring certain type information. */ -module CertainTypeInference { - pragma[nomagic] - private predicate callResolvesTo(CallExpr ce, Path p, Function f) { - p = CallExprImpl::getFunctionPath(ce) and - f = resolvePath(p) + override AstNode getInitializer() { result = LetStmt.super.getInitializer() } } - pragma[nomagic] - private Type getCallExprType(CallExpr ce, Path p, FunctionDeclaration f, TypePath path) { - exists(ImplOrTraitItemNodeOption i | - callResolvesTo(ce, p, f) and - result = f.getReturnType(i, path) and - f.isDirectlyFor(i) - ) + final class Parameter = ParameterImpl; + + /** A parameter, including enum/struct constructor fields. */ + abstract private class ParameterImpl extends AstNode { + abstract AstNode getPattern(); + + abstract TypeMention getType(); } - pragma[nomagic] - private Type getCertainCallExprType(CallExpr ce, Path p, TypePath tp) { - forex(Function f | callResolvesTo(ce, p, f) | result = getCallExprType(ce, p, f, tp)) + private class SelfParamParameter extends ParameterImpl, SelfParam { + override AstNode getPattern() { result = this } + + override TypeMention getType() { result = getSelfParamTypeMention(this) } } - pragma[nomagic] - private TypePath getPathToImplSelfTypeParam(TypeParam tp) { - exists(ImplItemNode impl | - tp = impl.getTypeParam(_) and - TTypeParamTypeParameter(tp) = impl.(Impl).getSelfTy().(TypeMention).getTypeAt(result) - ) + private class ParamParameter extends ParameterImpl, Param { + override AstNode getPattern() { result = this.getPat() } + + override TypeMention getType() { result = this.getTypeRepr() } } - pragma[nomagic] - private Type inferCertainCallExprType(CallExpr ce, TypePath path) { - exists(Type ty, TypePath prefix, Path p | ty = getCertainCallExprType(ce, p, prefix) | - exists(TypePath suffix, TypeParam tp | - tp = ty.(TypeParamTypeParameter).getTypeParam() and - path = prefix.append(suffix) - | - // For type parameters of the `impl` block we must resolve their - // instantiation from the path. For instance, for `impl for Foo` - // and the path `Foo::bar` we must resolve `A` to `i64`. - exists(TypePath pathToTp | - pathToTp = getPathToImplSelfTypeParam(tp) and - result = p.getQualifier().(TypeMention).getTypeAt(pathToTp.appendInverse(suffix)) - ) - or - // For type parameters of the function we must resolve their - // instantiation from the path. For instance, for `fn bar(a: A) -> A` - // and the path `bar`, we must resolve `A` to `i64`. - result = getCallExprTypeArgument(ce, TTypeParamTypeArgumentPosition(tp), suffix) - ) - or - not ty instanceof TypeParameter and - result = ty and - path = prefix - ) + private class TupleFieldParameter extends ParameterImpl instanceof TupleField { + override AstNode getPattern() { none() } + + override TypeMention getType() { result = super.getTypeRepr() } } - private Type inferCertainStructExprType(StructExpr se, TypePath path) { - result = se.getPath().(TypeMention).getTypeAt(path) + private class StructFieldParameter extends ParameterImpl instanceof StructField { + override AstNode getPattern() { none() } + + override TypeMention getType() { result = super.getTypeRepr() } } - private Type inferCertainStructPatType(StructPat sp, TypePath path) { - result = sp.getPath().(TypeMention).getTypeAt(path) + final class Parameterizable = ParameterizableImpl; + + abstract private class ParameterizableImpl extends AstNode { + abstract TypeParameter getTypeParameter(TypeParameterPosition ppos); + + abstract TypeMention getAdditionalTypeParameterConstraint(TypeParameter tp); + + abstract Parameter getParameter(int i); + + abstract TypeMention getType(); } - predicate certainTypeEquality(AstNode n1, TypePath prefix1, AstNode n2, TypePath prefix2) { - prefix1.isEmpty() and - prefix2.isEmpty() and - ( - exists(Variable v | n1 = v.getAnAccess() | - n2 = v.getPat().getName() or n2 = v.getParameter().(SelfParam) - ) - or - // A `let` statement with a type annotation is a coercion site and hence - // is not a certain type equality. - exists(LetStmt let | - not let.hasTypeRepr() and - identLetStmt(let, n1, n2) - ) + class Callable extends ParameterizableImpl instanceof Rust::Callable { + override TypeParameter getTypeParameter(TypeParameterPosition ppos) { + result = this.(FunctionDeclaration).getTypeParameter(ppos) + } + + override TypeMention getAdditionalTypeParameterConstraint(TypeParameter tp) { + result = + tp.(TypeParamTypeParameter).getTypeParam().getAdditionalTypeBound(this, _).getTypeRepr() + } + + override Parameter getParameter(int i) { + i = 0 and + result = super.getSelfParam() or - exists(LetExpr let | - // Similarly as for let statements, we need to rule out binding modes - // changing the type. - let.getPat().(IdentPat) = n1 and - let.getScrutinee() = n2 + exists(int pos | result = super.getParam(pos) | + if this instanceof Method then i = pos + 1 else i = pos ) - or - n1 = n2.(ParenExpr).getExpr() - ) + } + + override TypeMention getType() { result = getReturnTypeMention(this) } + + AstNode getBody() { result = Rust::Callable.super.getBody() } + } + + additional final class Constructor = ConstructorImpl; + + abstract private class ConstructorImpl extends ParameterizableImpl { + override TypeMention getAdditionalTypeParameterConstraint(TypeParameter tp) { none() } + + override TypeParameter getTypeParameter(TypeParameterPosition ppos) { + result = ppos.asTypeParameter() and + ppos.asTypeParam() = this.getTypeItem().getGenericParamList().getATypeParam() + } + + override TypeMention getType() { result = this.getTypeItem() } + + abstract TypeItem getTypeItem(); + } + + private class StructConstructor extends ConstructorImpl instanceof Struct { + override TypeItem getTypeItem() { result = this } + + override Parameter getParameter(int i) { + result = [super.getTupleField(i).(AstNode), super.getNthStructField(i)] + } + } + + private class VariantConstructor extends ConstructorImpl instanceof Variant { + override TypeItem getTypeItem() { result = super.getEnum() } + + override Parameter getParameter(int i) { + result = [super.getTupleField(i).(AstNode), super.getNthStructField(i)] + } + } + + Type getParameterizableType(Parameterizable p, TypePath path) { + result = p.(Constructor).getType().getTypeAt(path) or - n1 = - any(IdentPat ip | - n2 = ip.getName() and - prefix1.isEmpty() and - if ip.isRef() - then - exists(boolean isMutable | if ip.isMut() then isMutable = true else isMutable = false | - prefix2 = TypePath::singleton(getRefTypeParameter(isMutable)) - ) - else prefix2.isEmpty() + if p.(Function).isAsync() or p.(ClosureExpr).isAsync() + then + path.isEmpty() and + result = getFutureTraitType() + or + exists(TypePath suffix | + result = getReturnTypeMention(p).getTypeAt(suffix) and + path = TypePath::cons(getDynFutureOutputTypeParameter(), suffix) ) - or - exists(CallExprImpl::DynamicCallExpr dce, TupleType tt, int i | - n1 = dce.getArgList() and - tt.getArity() = dce.getNumberOfSyntacticArguments() and - n2 = dce.getSyntacticPositionalArgument(i) and - prefix1 = TypePath::singleton(tt.getPositionalTypeParameter(i)) and - prefix2.isEmpty() - ) - or - exists(ClosureExpr ce, int index | - n1 = ce and - n2 = ce.getParam(index).getPat() and - prefix1 = closureParameterPath(ce.getNumberOfParams(), index) and - prefix2.isEmpty() + else result = getReturnTypeMention(p).getTypeAt(path) + } + + class ResolutionContext = string; + + bindingset[derefChain, borrow] + private ResolutionContext encodeDerefChainBorrow(DerefChain derefChain, BorrowKind borrow) { + result = derefChain + ";" + borrow + } + + bindingset[derefChainBorrow] + private predicate decodeDerefChainBorrow( + string derefChainBorrow, DerefChain derefChain, BorrowKind borrow + ) { + exists(int i | + i = derefChainBorrow.indexOf(";") and + derefChain = derefChainBorrow.prefix(i) and + borrow.toString() = derefChainBorrow.suffix(i + 1) ) } - pragma[nomagic] - private Type inferCertainTypeEquality(AstNode n, TypePath path) { - exists(TypePath prefix1, AstNode n2, TypePath prefix2, TypePath suffix | - result = inferCertainType(n2, prefix2.appendInverse(suffix)) and - path = prefix1.append(suffix) - | - certainTypeEquality(n, prefix1, n2, prefix2) - or - certainTypeEquality(n2, prefix2, n, prefix1) + private string noDerefChainBorrow() { + exists(DerefChain derefChain, BorrowKind borrow | + derefChain.isEmpty() and + borrow.isNoBorrow() and + result = encodeDerefChainBorrow(derefChain, borrow) ) } - /** - * Holds if `n` has complete and certain type information and if `n` has the - * resulting type at `path`. - */ - cached - Type inferCertainType(AstNode n, TypePath path) { - result = inferAnnotatedType(n, path) and - Stages::TypeInferenceStage::ref() - or - result = inferFunctionBodyType(n, path) - or - result = inferCertainCallExprType(n, path) + final class Invocation = InvocationImpl; + + abstract private class InvocationImpl extends Expr { + abstract Type getTypeArgument(TypeArgumentPosition apos, TypePath path); + + abstract AstNode getArgument(int i); + + abstract Parameterizable getTarget(string derefChainBorrow); + } + + private class AssocFunctionCall extends InvocationImpl instanceof AssocFunctionResolution::AssocFunctionCall + { + pragma[nomagic] + override Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { + result = + this.(MethodCallExpr) + .getGenericArgList() + .getTypeArg(apos.asMethodTypeArgumentPosition()) + .(TypeMention) + .getTypeAt(path) + or + result = getCallExprTypeArgument(this, apos, path) + } + + override AstNode getArgument(int i) { + exists(FunctionPosition pos | + i = pos.asPosition() and + result = super.getNodeAt(pos) + ) + } + + pragma[nomagic] + Type getInferredSelfType(int pos, string derefChainBorrow, TypePath path) { + exists(FunctionPosition fpos, DerefChain derefChain, BorrowKind borrow | + result = super.getSelfTypeAt(fpos, derefChain, borrow, path) and + derefChainBorrow = encodeDerefChainBorrow(derefChain, borrow) and + super.hasReceiverAtPos(fpos) and + pos = fpos.asPosition() + ) + } + + pragma[nomagic] + Type getInferredNonSelfType(int pos, TypePath path) { + exists(FunctionPosition fpos | + not super.hasReceiverAtPos(fpos) and + result = super.getTypeAt(fpos, path) and + pos = fpos.asPosition() + ) + } + + override Callable getTarget(string derefChainBorrow) { + exists(DerefChain derefChain, BorrowKind borrow | + derefChainBorrow = encodeDerefChainBorrow(derefChain, borrow) and + result = super.resolveCallTarget(_, _, derefChain, borrow) // mutual recursion; resolving method calls requires resolving types and vice versa + ) + } + } + + private class NonAssocFunctionCall extends InvocationImpl instanceof NonAssocCallExpr, + CallExprImpl::CallExprCall + { + pragma[nomagic] + override Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { + result = NonAssocCallExpr.super.getTypeArgument(apos, path) + } + + override AstNode getArgument(int i) { + exists(FunctionPosition pos | + i = pos.asPosition() and + result = super.getNodeAt(pos) + ) + } + + pragma[nomagic] + private Callable getTarget() { result = super.resolveCallTargetViaPathResolution() } + + override Callable getTarget(string derefChainBorrow) { + result = this.getTarget() and + derefChainBorrow = noDerefChainBorrow() + } + } + + abstract private class Construction extends InvocationImpl { + abstract Constructor getTarget(); + + override Parameterizable getTarget(string derefChainBorrow) { + result = this.getTarget() and + derefChainBorrow = noDerefChainBorrow() + } + } + + private class NonAssocCallConstruction extends Construction, NonAssocCallExpr { + NonAssocCallConstruction() { + this instanceof CallExprImpl::TupleStructExpr or + this instanceof CallExprImpl::TupleVariantExpr + } + + override Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { + result = NonAssocCallExpr.super.getTypeArgument(apos, path) + } + + override AstNode getArgument(int i) { + exists(FunctionPosition pos | + i = pos.asPosition() and + result = NonAssocCallExpr.super.getNodeAt(pos) + ) + } + + override Constructor getTarget() { result = this.resolveCallTargetViaPathResolution() } + } + + abstract private class StructConstruction extends Construction instanceof PathAstNode { + pragma[nomagic] + override Constructor getTarget() { result = resolvePath(super.getPath()) } + + pragma[nomagic] + override Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { + // Handle constructions that use `Self {...}` syntax + exists(TypeMention tm, TypePath path0 | + tm = super.getPath() and + result = tm.getTypeAt(path0) and + path0.isCons(TTypeParamTypeParameter(apos.asTypeParam()), path) + ) + } + } + + private class StructExprConstruction extends StructConstruction, StructExpr { + override Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { + result = super.getTypeArgument(apos, path) + or + exists(TypePath suffix | + suffix.isCons(TTypeParamTypeParameter(apos.asTypeParam()), path) and + result = inferTypeCertain(this, suffix) + ) + } + + override AstNode getArgument(int i) { + result = + this.getFieldExpr(pragma[only_bind_into](this.getNthStructField(i).getName().getText())) + .getExpr() + } + } + + /** A potential nullary struct/variant construction such as `None`. */ + private class PathExprConstruction extends StructConstruction, PathExpr { + PathExprConstruction() { not exists(CallExpr ce | this = ce.getFunction()) } + + override AstNode getArgument(int i) { none() } + } + + Parameterizable getAdditionalTargetForContextualReturnTyping(Invocation invocation) { + result = CallExprImpl::getResolvedFunction(invocation) + } + + pragma[nomagic] + private Type inferInvocationArgumentType0(Invocation invocation, int pos, TypePath path) { + exists(FunctionPosition fpos | + pos = fpos.asPosition() and + result = + invocation.(AssocFunctionResolution::OperationAssocFunctionCall).getTypeAt(fpos, path) + ) + or + not invocation instanceof Operation and + not invocation instanceof AssocFunctionCall and + result = inferType(invocation.getArgument(pos), path) + } + + bindingset[derefChainBorrow] + Type inferInvocationArgumentType( + Invocation invocation, string derefChainBorrow, int pos, TypePath path + ) { + result = inferInvocationArgumentType0(invocation, pos, path) + or + invocation = + any(AssocFunctionCall afc | + result = afc.getInferredSelfType(pos, derefChainBorrow, path) + or + result = afc.getInferredNonSelfType(pos, path) + ) + } + + pragma[nomagic] + private Type inferInvocationArgumentTypeContextualDefault( + Invocation invocation, int pos, AstNode n, DerefChain derefChain, BorrowKind borrow, + TypePath path + ) { + exists(string derefChainBorrow | + decodeDerefChainBorrow(derefChainBorrow, derefChain, borrow) and + result = + M3::inferInvocationArgumentTypeContextualDefault(invocation, derefChainBorrow, pos, n, path) + ) + } + + /** + * Gets the type of `n` at `path` after applying `derefChain`, where `n` is the + * `self` argument of a method call. + * + * The predicate recursively pops the head of `derefChain` until it becomes + * empty, at which point the inferred type can be applied back to `n`. + */ + pragma[nomagic] + private Type inferInvocationSelfArgumentTypeContextual( + Invocation invocation, AstNode n, DerefChain derefChain, TypePath path + ) { + exists(FunctionPosition pos, BorrowKind borrow, TypePath path0 | + invocation.(AssocFunctionResolution::AssocFunctionCall).hasReceiverAtPos(pos) and + result = + inferInvocationArgumentTypeContextualDefault(invocation, pos.asPosition(), n, derefChain, + borrow, path0) + | + borrow.isNoBorrow() and + path = path0 + or + // adjust for implicit borrow + exists(TypePath prefix | + prefix = TypePath::singleton(borrow.getRefType().getPositionalTypeParameter(0)) and + path0 = prefix.appendInverse(path) + ) + ) or - result = inferCertainTypeEquality(n, path) + // adjust for implicit deref + exists( + DerefChain derefChain0, Type t0, TypePath path0, DerefImplItemNode impl, Type selfParamType, + TypePath selfPath + | + t0 = inferInvocationSelfArgumentTypeContextual(invocation, n, derefChain0, path0) and + derefChain0.isCons(impl, derefChain) and + selfParamType = impl.resolveSelfTypeAt(selfPath) + | + result = selfParamType and + path = selfPath and + not result instanceof TypeParameter + or + exists(TypePath pathToTypeParam, TypePath suffix | + impl.targetHasTypeParameterAt(pathToTypeParam, selfParamType) and + path0 = pathToTypeParam.appendInverse(suffix) and + result = t0 and + path = selfPath.append(suffix) + ) + ) + } + + Type inferInvocationArgumentTypeContextual(AstNode n, TypePath path) { + exists(Invocation invocation, FunctionPosition pos, TypePath path0 | + result = + inferInvocationArgumentTypeContextualDefault(invocation, pos.asPosition(), n, _, _, path0) and + not invocation.(AssocFunctionResolution::AssocFunctionCall).hasReceiverAtPos(pos) + or + pos.asPosition() = 0 and + result = inferInvocationSelfArgumentTypeContextual(invocation, n, DerefChain::nil(), path0) and + not path0.isEmpty() + | + if invocation.(AssocFunctionResolution::OperationAssocFunctionCall).implicitBorrowAt(pos, _) + then + // adjust for implicit borrow + path0.isCons(getRefTypeParameter(_), path) + else path = path0 + ) + } + + Type inferInvocationType(Invocation invocation, TypePath path) { + exists(TypePath path0 | + result = M3::inferInvocationTypeDefault(invocation, _, path0) and + // index expression `x[i]` desugars to `*x.index(i)`, so we must account for + // the implicit deref + if invocation instanceof IndexExpr or invocation instanceof DerefExpr + then path0.isCons(getRefTypeParameter(_), path) + else path = path0 + ) + } + + Type inferInvocationTypeContextual(Invocation invocation, TypePath path) { + exists(TypePath path0 | + result = inferType(invocation, path0) and + // index expression `x[i]` desugars to `*x.index(i)`, so we must account for + // the implicit deref + if invocation instanceof IndexExpr or invocation instanceof DerefExpr + then path0.isCons(getRefTypeParameter(_), path) + else path = path0 + ) + } + + abstract class Member extends AstNode { + Type getDeclaringType(TypePath path) { + // no case for variants as those can only be destructured using pattern matching + exists(Struct s | this = [s.getStructField(_).(AstNode), s.getTupleField(_)] | + result = TDataType(s) and + path.isEmpty() + or + result = TTypeParamTypeParameter(s.getGenericParamList().getATypeParam()) and + path = TypePath::singleton(result) + ) + } + + abstract TypeMention getType(); + } + + private class StructFieldDecl extends Member instanceof StructField { + override TypeMention getType() { result = StructField.super.getTypeRepr() } + } + + private class TupleFieldDecl extends Member instanceof TupleField { + override TypeMention getType() { result = TupleField.super.getTypeRepr() } + } + + class MemberAccess extends FieldExpr { + AstNode getReceiver() { result = this.getContainer() } + + Member getMember() { + // mutual recursion; resolving fields requires resolving types and vice versa + result = + [ + resolveStructFieldExpr(this, _).(AstNode), + resolveTupleFieldExpr(this, _) + ] + } + } + + Type inferMemberAccessReceiverType(MemberAccess ma, TypePath path) { + exists(TypePath path0 | result = inferType(ma.getReceiver(), path0) | + // adjust for implicit deref + path0.isCons(getRefTypeParameter(_), path) + or + not path0.isCons(getRefTypeParameter(_), _) and + not (result instanceof RefType and path0.isEmpty()) and + path = path0 + ) + } + + Type inferMemberAccessReceiverTypeContextual(AstNode n, TypePath path) { + exists(TypePath path0, Type receiverType | + result = M3::inferMemberAccessReceiverTypeContextualDefault(_, n, path0) and + receiverType = inferType(n) and + not path0.isEmpty() + | + // adjust for implicit deref + path = TypePath::cons(receiverType.(RefType).getPositionalTypeParameter(0), path0) + or + not receiverType instanceof RefType and + path = path0 + ) + } + + class Closure extends Expr, Callable instanceof Rust::ClosureExpr { } + + class ClosureParameterPseudoType = T::ClosureParameterPseudoType; + + ClosureParameterPseudoType getClosureParameterPseudoType(Parameter p) { + result = TClosureParameterPseudoType(p) + } + + /** + * Gets the root type of a closure. + * + * We model closures as `dyn Fn` trait object types. A closure might implement + * only `Fn`, `FnMut`, or `FnOnce`. But since `Fn` is a subtrait of the others, + * giving closures the type `dyn Fn` works well in practice -- even if not + * entirely accurate. + */ + pragma[nomagic] + private Type closureRootType() { + result = TDynTraitType(any(FnTrait t)) // always exists because of the mention in `builtins/mentions.rs` + } + + bindingset[c] + Type getClosureType(Closure c) { + result = closureRootType() and + exists(c) + } + + /** Gets the path to a closure's `index`th parameter type, where the arity is `arity`. */ + pragma[nomagic] + private TypePath closureParameterPath(int arity, int index) { + result = + TypePath::cons(TDynTraitTypeParameter(_, any(FnTrait t).getTypeParam()), + TypePath::singleton(getTupleTypeParameter(arity, index))) + } + + TypePath getClosureParameterTypePath(Parameter p) { + exists(ClosureExpr ce, int index | + p = ce.getParam(index) and + result = closureParameterPath(ce.getNumberOfParams(), index) + ) + } + + /** Gets the path to a closure's return type. */ + pragma[nomagic] + private TypePath closureReturnPath() { + result = + TypePath::singleton(TDynTraitTypeParameter(any(FnTrait t), any(FnOnceTrait t).getOutputType())) + } + + bindingset[c] + TypePath getClosureReturnTypePath(Closure c) { + result = closureReturnPath() and + exists(c) + } + + predicate inferStepCertain(AstNode n1, TypePath path1, AstNode n2, TypePath path2) { + n1 = + any(IdentPat ip | + n2 = ip.getName() and + path1.isEmpty() and + if ip.isRef() + then + exists(boolean isMutable | if ip.isMut() then isMutable = true else isMutable = false | + path2 = TypePath::singleton(getRefTypeParameter(isMutable)) + ) + else path2.isEmpty() + ) or + exists(CallExprImpl::DynamicCallExpr dce, TupleType tt, int i | + n1 = dce.getSyntacticPositionalArgument(i) and + n2 = dce.getArgList() and + tt.getArity() = dce.getNumberOfSyntacticArguments() and + path1.isEmpty() and + path2 = TypePath::singleton(tt.getPositionalTypeParameter(i)) + ) + } + + pragma[nomagic] + private Type inferClosureArgsType(ClosureExpr ce, TypePath path) { + path = TypePath::singleton(TDynTraitTypeParameter(_, any(FnTrait t).getTypeParam())) and + result.(TupleType).getArity() = ce.getNumberOfParams() + } + + pragma[nomagic] + Type inferTypeCertainSpecific(AstNode n, TypePath path) { result = inferLiteralType(n, path, true) or result = inferRefPatType(n) and @@ -656,8 +997,6 @@ module CertainTypeInference { result = inferRefExprType(n) and path.isEmpty() or - result = inferLogicalOperationType(n, path) - or result = inferCertainStructExprType(n, path) or result = inferCertainStructPatType(n, path) @@ -673,315 +1012,311 @@ module CertainTypeInference { result = inferArrayExprType(n) and path.isEmpty() or - result = inferCastExprType(n, path) - or exprHasUnitType(n) and path.isEmpty() and result instanceof UnitType or - isPanicMacroCall(n) and - path.isEmpty() and - result instanceof NeverType - or - n instanceof ClosureExpr and - path.isEmpty() and - result = closureRootType() - or - infersCertainTypeAt(n, path, result.getATypeParameter()) - } - - /** - * Holds if `n` has complete and certain type information at the type path - * `prefix.tp`. This entails that the type at `prefix` must be the type - * that declares `tp`. - */ - pragma[nomagic] - private predicate infersCertainTypeAt(AstNode n, TypePath prefix, TypeParameter tp) { - exists(TypePath path | - exists(inferCertainType(n, path)) and - path.isSnoc(prefix, tp) - ) + result = inferClosureArgsType(n, path) } - /** - * Holds if `n` has complete and certain type information at `path`. - */ - pragma[nomagic] - predicate hasInferredCertainType(AstNode n, TypePath path) { exists(inferCertainType(n, path)) } - - /** - * Holds if `n` having type `t` at `path` conflicts with certain type information - * at `prefix`. - */ - bindingset[n, prefix, path, t] - pragma[inline_late] - predicate certainTypeConflict(AstNode n, TypePath prefix, TypePath path, Type t) { - inferCertainType(n, path) != t + predicate inferStep(AstNode n1, TypePath path1, AstNode n2, TypePath path2) { + // When `n2` is `*n1` propagate type information from a raw pointer type + // parameter at `n1` (all other deref expressions are handled as calls) + n1 = n2.(DerefExpr).getExpr() and + path1 = TypePath::singleton(getPtrTypeParameter()) and + path2.isEmpty() or - // If we infer that `n` has _some_ type at `T1.T2....Tn`, and we also - // know that `n` certainly has type `certainType` at `T1.T2...Ti`, `0 <= i < n`, - // then it must be the case that `T(i+1)` is a type parameter of `certainType`, - // otherwise there is a conflict. - // - // Below, `prefix` is `T1.T2...Ti` and `tp` is `T(i+1)`. - exists(TypePath suffix, TypeParameter tp, Type certainType | - path = prefix.appendInverse(suffix) and - tp = suffix.getHead() and - inferCertainType(n, prefix) = certainType and - not certainType.getATypeParameter() = tp - ) - } -} - -private Type inferLogicalOperationType(AstNode n, TypePath path) { - exists(Builtins::Bool t, BinaryLogicalOperation be | - n = [be, be.getLhs(), be.getRhs()] and - path.isEmpty() and - result = TDataType(t) - ) -} - -private Type inferAssignmentOperationType(AstNode n, TypePath path) { - n instanceof AssignmentOperation and - path.isEmpty() and - result instanceof UnitType -} - -pragma[nomagic] -private Struct getRangeType(RangeExpr re) { - re instanceof RangeFromExpr and - result instanceof RangeFromStruct - or - re instanceof RangeToExpr and - result instanceof RangeToStruct - or - re instanceof RangeFullExpr and - result instanceof RangeFullStruct - or - re instanceof RangeFromToExpr and - result instanceof RangeStruct - or - re instanceof RangeInclusiveExpr and - result instanceof RangeInclusiveStruct - or - re instanceof RangeToInclusiveExpr and - result instanceof RangeToInclusiveStruct -} - -private predicate bodyReturns(Expr body, Expr e) { - exists(ReturnExpr re, Callable c | - e = re.getExpr() and - c = re.getEnclosingCallable() and - body = c.getBody() - ) -} - -/** - * Holds if the type tree of `n1` at `prefix1` should be equal to the type tree - * of `n2` at `prefix2` and type information should propagate in both directions - * through the type equality. - */ -private predicate typeEquality(AstNode n1, TypePath prefix1, AstNode n2, TypePath prefix2) { - CertainTypeInference::certainTypeEquality(n1, prefix1, n2, prefix2) - or - prefix1.isEmpty() and - prefix2.isEmpty() and - ( - exists(LetStmt let | - let.getPat() = n1 and - let.getInitializer() = n2 + path1.isEmpty() and + ( + n1 = n2.(ArrayListExpr).getAnExpr() and + path2 = TypePath::singleton(getArrayTypeParameter()) + or + exists(Struct s | + n1 = [n2.(RangeExpr).getStart(), n2.(RangeExpr).getEnd()] and + path2 = + TypePath::singleton(TTypeParamTypeParameter(s.getGenericParamList().getATypeParam())) and + s = getRangeType(n2) + ) + or + n2 = + any(RefExpr re | + n1 = re.getExpr() and + path2 = TypePath::singleton(inferRefExprType(re).getPositionalTypeParameter(0)) + ) + or + exists(BlockExpr be | + n2 = be and + n1 = be.getStmtList().getTailExpr() and + if be.isAsync() + then path2 = TypePath::singleton(getDynFutureOutputTypeParameter()) + else path2.isEmpty() + ) + or + // an array repeat expression (`[1; 3]`) has the type of the repeat operand + n2.(ArrayRepeatExpr).getRepeatOperand() = n1 and + path2 = TypePath::singleton(getArrayTypeParameter()) + or + path2.isEmpty() and + ( + exists(ReturnExpr re, Rust::Callable c | + n1 = re.getExpr() and + c = re.getEnclosingCallable() and + n2 = c.getBody() + ) + or + n2 = n1.(OrPat).getAPat() + or + n2 = n1.(ParenPat).getPat() + or + n2 = n1.(LiteralPat).getLiteral() + or + exists(BreakExpr break | + break.getExpr() = n1 and + break.getTarget() = n2.(LoopExpr) + ) + or + n1 = n2.(MacroExpr).getMacroCall().getMacroCallExpansion() and + not isPanicMacroCall(n2) + or + n1 = n2.(MacroPat).getMacroCall().getMacroCallExpansion() + ) ) or - n2 = - any(MatchExpr me | - n1 = me.getAnArm().getExpr() and - me.getNumberOfArms() = 1 + n1 = + any(RefPat rp | + n2 = rp.getPat() and + path2.isEmpty() and + exists(boolean isMutable | if rp.isMut() then isMutable = true else isMutable = false | + path1 = TypePath::singleton(getRefTypeParameter(isMutable)) + ) ) or - exists(LetExpr let | - n1 = let.getScrutinee() and - n2 = let.getPat() + exists(int i, int arity, TypePath path | + path = TypePath::singleton(getTupleTypeParameter(arity, i)) + | + arity = n2.(TupleExpr).getNumberOfFields() and + n1 = n2.(TupleExpr).getField(i) and + path1.isEmpty() and + path2 = path + or + arity = n1.(TuplePat).getTupleArity() and + n2 = n1.(TuplePat).getField(i) and + path2.isEmpty() and + path1 = path ) + } + + pragma[nomagic] + Type inferTypeSpecific(AstNode n, TypePath path) { + result = inferAssignmentOperationType(n, path) or - exists(MatchExpr me | - n1 = me.getScrutinee() and - n2 = me.getAnArm().getPat() - ) + result = inferTryExprType(n, path) or - n1 = n2.(OrPat).getAPat() + result = inferLiteralType(n, path, false) or - n1 = n2.(ParenPat).getPat() + result = inferAwaitExprType(n, path) or - n1 = n2.(LiteralPat).getLiteral() + result = inferForLoopExprType(n, path) or - exists(BreakExpr break | - break.getExpr() = n1 and - break.getTarget() = n2.(LoopExpr) - ) + result = inferArgList(n, path) or - exists(AssignmentExpr be | - n1 = be.getLhs() and - n2 = be.getRhs() - ) + result = inferDeconstructionPatType(n, path) or - n1 = n2.(MacroExpr).getMacroCall().getMacroCallExpansion() and - not isPanicMacroCall(n2) + result = inferUnknownType(n, path) + } + + predicate inferTypeForDefaults = M3::inferType/2; +} + +private module M3 = Make3; + +predicate inferType = M3::inferType/1; + +predicate inferType = M3::inferType/2; + +predicate inferTypeCertain = M3::inferTypeCertain/2; + +module Consistency = M3::Consistency; + +/** A function without a `self` parameter. */ +private class NonMethodFunction extends Function { + NonMethodFunction() { not this.hasSelfParam() } +} + +private module ImplOrTraitItemNodeOption = Option; + +private class ImplOrTraitItemNodeOption = ImplOrTraitItemNodeOption::Option; + +private class FunctionDeclaration extends Function { + private ImplOrTraitItemNodeOption parent; + + FunctionDeclaration() { + not this = any(ImplOrTraitItemNode i).getAnAssocItem() and parent.isNone() or - n1 = n2.(MacroPat).getMacroCall().getMacroCallExpansion() + this = parent.asSome().getASuccessor(_) + } + + /** Holds if this function is associated with `i`. */ + predicate isAssoc(ImplOrTraitItemNode i) { i = parent.asSome() } + + /** Holds if this is a free function. */ + predicate isFree() { parent.isNone() } + + /** Holds if this function is valid for `i`. */ + predicate isFor(ImplOrTraitItemNodeOption i) { i = parent } + + /** + * Holds if this function is valid for `i`. If `i` is a trait or `impl` block then + * this function must be declared directly inside `i`. + */ + predicate isDirectlyFor(ImplOrTraitItemNodeOption i) { + i.isNone() and + this.isFree() or - bodyReturns(n1, n2) and - strictcount(Expr e | bodyReturns(n1, e)) = 1 - ) - or - n2 = - any(RefExpr re | - n1 = re.getExpr() and - prefix1.isEmpty() and - prefix2 = TypePath::singleton(inferRefExprType(re).getPositionalTypeParameter(0)) + this = i.asSome().getAnAssocItem() + } + + TypeParam getTypeParam(ImplOrTraitItemNodeOption i) { + i = parent and + result = [this.getGenericParamList().getATypeParam(), i.asSome().getTypeParam(_)] + } + + private TypeParameter getTypeParameter(ImplOrTraitItemNodeOption i, TypeParameterPosition ppos) { + result = ppos.asTypeParameter() and + ( + result = TTypeParamTypeParameter(this.getTypeParam(i)) + or + // For every `TypeParam` of this function, any associated types accessed on + // the type parameter are also type parameters. + result.(TypeParamAssociatedTypeTypeParameter).getTypeParam() = this.getTypeParam(i) + or + i = parent and + ( + result = TSelfTypeParameter(i.asSome()) + or + result.(AssociatedTypeTypeParameter).getTrait() = i.asSome() + or + this = result.(ImplTraitTypeTypeParameter).getFunction() + ) ) - or - n2 = - any(RefPat rp | - n1 = rp.getPat() and - prefix1.isEmpty() and - exists(boolean isMutable | if rp.isMut() then isMutable = true else isMutable = false | - prefix2 = TypePath::singleton(getRefTypeParameter(isMutable)) + } + + TypeParameter getTypeParameter(TypeParameterPosition ppos) { + exists(ImplOrTraitItemNodeOption i | result = this.getTypeParameter(i, ppos) | + i.isNone() + or + i.asSome().getAnAssocItem() = this + ) + } +} + +private class AssocFunctionDeclaration extends FunctionDeclaration { + AssocFunctionDeclaration() { this.isAssoc(_) } +} + +pragma[nomagic] +private TypePath getPathToImplSelfTypeParam(TypeParam tp) { + exists(ImplItemNode impl | + tp = impl.getTypeParam(_) and + TTypeParamTypeParameter(tp) = impl.(Impl).getSelfTy().(TypeMention).getTypeAt(result) + ) +} + +pragma[nomagic] +private Type getCallExprTypeArgument(CallExpr ce, TypeArgumentPosition apos, TypePath path) { + exists(Path p | p = CallExprImpl::getFunctionPath(ce) | + exists(ItemNode resolved, TypeParam tp | + resolved = resolvePath(p) and + apos.asTypeParam() = tp + | + // For type parameters of the function we must resolve their + // instantiation from the path. For instance, for `fn bar(a: A) -> A` + // and the path `bar`, we must resolve `A` to `i64`. + exists(int i | + tp = resolved.getTypeParam(pragma[only_bind_into](i)) and + result = getPathTypeArgument(p, pragma[only_bind_into](i)).getTypeAt(path) + ) + or + // For type parameters of the `impl` block we must resolve their + // instantiation from the path. For instance, for `impl for Foo` + // and the path `Foo::bar` we must resolve `A` to `i64`. + exists(ImplItemNode impl, TypePath pathToTp | + resolved = impl.getASuccessor(_) and + tp = impl.getTypeParam(_) and + pathToTp = getPathToImplSelfTypeParam(tp) and + result = p.getQualifier().(TypeMention).getTypeAt(pathToTp.appendInverse(path)) ) ) - or - exists(int i, int arity | - prefix1.isEmpty() and - prefix2 = TypePath::singleton(getTupleTypeParameter(arity, i)) - | - arity = n2.(TupleExpr).getNumberOfFields() and - n1 = n2.(TupleExpr).getField(i) or - arity = n2.(TuplePat).getTupleArity() and - n1 = n2.(TuplePat).getField(i) - ) - or - exists(BlockExpr be | - n1 = be and - n2 = be.getStmtList().getTailExpr() and - if be.isAsync() - then - prefix1 = TypePath::singleton(getDynFutureOutputTypeParameter()) and - prefix2.isEmpty() - else ( - prefix1.isEmpty() and - prefix2.isEmpty() + exists(Path qualifier, TypeMention tm | + qualifier = p.getQualifier() and + result = tm.getTypeAt(path) and + not tm.getType() instanceof TraitType and + apos.isTypeQualifierArgumentPosition() + | + tm = qualifier + or + // `::baz()`; `Foo` is the type qualifier + exists(PathSegment segment | + segment = qualifier.getSegment() and + tm = segment.getTypeRepr() and + segment.hasTraitTypeRepr() + ) ) ) or - // an array list expression with only one element (such as `[1]`) has type from that element - n1 = - any(ArrayListExpr ale | - ale.getAnExpr() = n2 and - ale.getNumberOfExprs() = 1 - ) and - prefix1 = TypePath::singleton(getArrayTypeParameter()) and - prefix2.isEmpty() - or - // an array repeat expression (`[1; 3]`) has the type of the repeat operand - n1.(ArrayRepeatExpr).getRepeatOperand() = n2 and - prefix1 = TypePath::singleton(getArrayTypeParameter()) and - prefix2.isEmpty() + // Handle constructions that use `Self(...)` syntax + exists(Path p, TypePath path0 | + p = CallExprImpl::getFunctionPath(ce) and + result = p.(TypeMention).getTypeAt(path0) and + path0.isCons(TTypeParamTypeParameter(apos.asTypeParam()), path) + ) } /** - * Holds if `child` is a child of `parent`, and the Rust compiler applies [least - * upper bound (LUB) coercion][1] to infer the type of `parent` from the type of - * `child`. - * - * In this case, we want type information to only flow from `child` to `parent`, - * to avoid (a) either having to model LUB coercions, or (b) risk combinatorial - * explosion in inferred types. + * Holds if `me` is a call to the `panic!` macro. * - * [1]: https://doc.rust-lang.org/reference/type-coercions.html#r-coerce.least-upper-bound + * `panic!` needs special treatment, because it expands to a block expression + * that looks like it should have type `()` instead of the correct `!` type. */ -private predicate lubCoercion(AstNode parent, AstNode child, TypePath prefix) { - child = parent.(IfExpr).getABranch() and - prefix.isEmpty() - or - parent = - any(MatchExpr me | - child = me.getAnArm().getExpr() and - me.getNumberOfArms() > 1 - ) and - prefix.isEmpty() - or - parent = - any(ArrayListExpr ale | - child = ale.getAnExpr() and - ale.getNumberOfExprs() > 1 - ) and - prefix = TypePath::singleton(getArrayTypeParameter()) - or - bodyReturns(parent, child) and - strictcount(Expr e | bodyReturns(parent, e)) > 1 and - prefix.isEmpty() - or - parent = any(ClosureExpr ce | not ce.hasRetType() and ce.getClosureBody() = child) and - prefix = closureReturnPath() - or - exists(Struct s | - child = [parent.(RangeExpr).getStart(), parent.(RangeExpr).getEnd()] and - prefix = TypePath::singleton(TTypeParamTypeParameter(s.getGenericParamList().getATypeParam())) and - s = getRangeType(parent) - ) +pragma[nomagic] +private predicate isPanicMacroCall(MacroExpr me) { + me.getMacroCall().resolveMacro().(MacroRules).getName().getText() = "panic" } -private Type inferUnknownTypeFromAnnotation(AstNode n, TypePath path) { - inferType(n, path) = TUnknownType() and - // Normally, these are coercion sites, but in case a type is unknown we - // allow for type information to flow from the type annotation. - exists(TypeMention tm | result = tm.getTypeAt(path) | - tm = any(LetStmt let | identLetStmt(let, _, n)).getTypeRepr() - or - tm = any(ClosureExpr ce | n = ce.getBody()).getRetType().getTypeRepr() - or - tm = getReturnTypeMention(any(Function f | n = f.getBody())) - ) +private Type inferCertainStructExprType(StructExpr se, TypePath path) { + result = se.getPath().(TypeMention).getTypeAt(path) } -/** - * Holds if the type tree of `n1` at `prefix1` should be equal to the type tree - * of `n2` at `prefix2`, but type information should only propagate from `n1` to - * `n2`. - */ -private predicate typeEqualityAsymmetric(AstNode n1, TypePath prefix1, AstNode n2, TypePath prefix2) { - lubCoercion(n2, n1, prefix2) and - prefix1.isEmpty() - or - exists(AstNode mid, TypePath prefixMid, TypePath suffix | - typeEquality(n1, prefixMid, mid, prefix2) or - typeEquality(mid, prefix2, n1, prefixMid) - | - lubCoercion(mid, n2, suffix) and - not lubCoercion(mid, n1, _) and - prefix1 = prefixMid.append(suffix) - ) - or - // When `n2` is `*n1` propagate type information from a raw pointer type - // parameter at `n1`. The other direction is handled in - // `inferDereferencedExprPtrType`. - n1 = n2.(DerefExpr).getExpr() and - prefix1 = TypePath::singleton(getPtrTypeParameter()) and - prefix2.isEmpty() +private Type inferCertainStructPatType(StructPat sp, TypePath path) { + result = sp.getPath().(TypeMention).getTypeAt(path) +} + +private Type inferAssignmentOperationType(AstNode n, TypePath path) { + n instanceof AssignmentOperation and + path.isEmpty() and + result instanceof UnitType } pragma[nomagic] -private Type inferTypeEquality(AstNode n, TypePath path) { - exists(TypePath prefix1, AstNode n2, TypePath prefix2, TypePath suffix | - result = inferType(n2, prefix2.appendInverse(suffix)) and - path = prefix1.append(suffix) - | - typeEquality(n, prefix1, n2, prefix2) - or - typeEquality(n2, prefix2, n, prefix1) - or - typeEqualityAsymmetric(n2, prefix2, n, prefix1) - ) +private Struct getRangeType(RangeExpr re) { + re instanceof RangeFromExpr and + result instanceof RangeFromStruct + or + re instanceof RangeToExpr and + result instanceof RangeToStruct + or + re instanceof RangeFullExpr and + result instanceof RangeFullStruct + or + re instanceof RangeFromToExpr and + result instanceof RangeStruct + or + re instanceof RangeInclusiveExpr and + result instanceof RangeInclusiveStruct + or + re instanceof RangeToInclusiveExpr and + result instanceof RangeToInclusiveStruct } pragma[nomagic] @@ -1073,173 +1408,39 @@ private class NonAssocCallExpr extends CallExpr { pragma[nomagic] Type getInferredType(FunctionPosition pos, TypePath path) { - pos.isTypeQualifier() and - result = getCallExprTypeQualifier(this, path, false) - or result = inferType(this.getNodeAt(pos), path) } } /** - * Provides functionality related to context-based typing of calls. + * Holds if the type path `path` pointing to `type` is stripped of any leading + * complex root type allowed for `self` parameters, such as `&`, `Box`, `Rc`, + * `Arc`, and `Pin`. + * + * We strip away the complex root type for performance reasons only, which will + * allow us to construct a much smaller set of candidate call targets (otherwise, + * for example _a lot_ of methods have a `self` parameter with a `&` root type). */ -private module ContextTyping { - /** - * Holds if `f` mentions type parameter `tp` at some non-return position, - * possibly via a constraint on another mentioned type parameter. - */ - pragma[nomagic] - private predicate assocFunctionMentionsTypeParameterAtNonRetPos( - ImplOrTraitItemNode i, Function f, TypeParameter tp - ) { - exists(FunctionPosition nonRetPos | - not nonRetPos.isReturn() and - not nonRetPos.isTypeQualifier() and - tp = getAssocFunctionTypeAt(f, i, nonRetPos, _) - ) - or - exists(TypeParameter mid | - assocFunctionMentionsTypeParameterAtNonRetPos(i, f, mid) and - tp = getATypeParameterConstraint(mid).getTypeAt(_) - ) - } +bindingset[path, type] +private predicate isComplexRootStripped(TypePath path, Type type) { + path.isEmpty() and + not validSelfType(type) + or + exists(TypeParameter tp | + complexSelfRoot(_, tp) and + path = TypePath::singleton(tp) and + exists(type) + ) +} - /** - * Holds if the return type of the function `f` inside `i` at `path` is type - * parameter `tp`, and `tp` does not appear in the type of any parameter of - * `f`. - * - * In this case, the context in which `f` is called may be needed to infer - * the instantiation of `tp`. - * - * This covers functions like `Default::default` and `Vec::new`. - */ - pragma[nomagic] - private predicate assocFunctionReturnContextTypedAt( - ImplOrTraitItemNode i, Function f, FunctionPosition pos, TypePath path, TypeParameter tp - ) { - pos.isReturn() and - tp = getAssocFunctionTypeAt(f, i, pos, path) and - not assocFunctionMentionsTypeParameterAtNonRetPos(i, f, tp) - } +private newtype TBorrowKind = + TNoBorrowKind() or + TSomeBorrowKind(Boolean isMutable) - /** - * A call where the type of the result may have to be inferred from the - * context in which the call appears, for example a call like - * `Default::default()`. - */ - abstract class ContextTypedCallCand extends AstNode { - abstract Type getTypeArgument(TypeArgumentPosition apos, TypePath path); +private class BorrowKind extends TBorrowKind { + predicate isNoBorrow() { this = TNoBorrowKind() } - predicate hasTypeArgument(TypeArgumentPosition apos) { exists(this.getTypeArgument(apos, _)) } - - /** - * Holds if this call resolves to `target` inside `i`, and the return type - * at `pos` and `path` may have to be inferred from the context. - */ - bindingset[this, i, target] - predicate hasUnknownTypeAt( - ImplOrTraitItemNode i, Function target, FunctionPosition pos, TypePath path - ) { - exists(TypeParameter tp | - assocFunctionReturnContextTypedAt(i, target, pos, path, tp) and - // check that no explicit type arguments have been supplied for `tp` - not exists(TypeArgumentPosition tapos | this.hasTypeArgument(tapos) | - exists(int j | - j = tapos.asMethodTypeArgumentPosition() and - tp = TTypeParamTypeParameter(target.getGenericParamList().getTypeParam(j)) - ) - or - TTypeParamTypeParameter(tapos.asTypeParam()) = tp - ) and - not ( - tp instanceof TSelfTypeParameter and - exists(getCallExprTypeQualifier(this, _, _)) - ) - ) - } - } - - pragma[nomagic] - private predicate hasUnknownTypeAt(AstNode n, TypePath path) { - inferType(n, path) = TUnknownType() - } - - pragma[nomagic] - private predicate hasUnknownType(AstNode n) { hasUnknownTypeAt(n, _) } - - newtype FunctionPositionKind = - SelfKind() or - ReturnKind() or - PositionalKind() - - signature Type inferCallTypeSig(AstNode n, FunctionPositionKind kind, TypePath path); - - /** - * Given a predicate `inferCallType` for inferring the type of a call at a given - * position, this module exposes the predicate `check`, which wraps the input - * predicate and checks that types are only propagated into arguments when they - * are context-typed. - */ - module CheckContextTyping { - pragma[nomagic] - private Type inferCallNonReturnType( - AstNode n, FunctionPositionKind kind, TypePath prefix, TypePath path - ) { - result = inferCallType(n, kind, path) and - hasUnknownType(n) and - kind != ReturnKind() and - prefix = path.getAPrefix() - } - - pragma[nomagic] - Type check(AstNode n, TypePath path) { - result = inferCallType(n, ReturnKind(), path) - or - exists(FunctionPositionKind kind, TypePath prefix | - result = inferCallNonReturnType(n, kind, prefix, path) and - hasUnknownTypeAt(n, prefix) - | - // Never propagate type information directly into the receiver, since its type - // must already have been known in order to resolve the call - if kind = SelfKind() then not prefix.isEmpty() else any() - ) - } - } -} - -/** - * Holds if the type path `path` pointing to `type` is stripped of any leading - * complex root type allowed for `self` parameters, such as `&`, `Box`, `Rc`, - * `Arc`, and `Pin`. - * - * We strip away the complex root type for performance reasons only, which will - * allow us to construct a much smaller set of candidate call targets (otherwise, - * for example _a lot_ of methods have a `self` parameter with a `&` root type). - */ -bindingset[path, type] -private predicate isComplexRootStripped(TypePath path, Type type) { - ( - path.isEmpty() and - not validSelfType(type) - or - exists(TypeParameter tp | - complexSelfRoot(_, tp) and - path = TypePath::singleton(tp) and - exists(type) - ) - ) and - type != TNeverType() -} - -private newtype TBorrowKind = - TNoBorrowKind() or - TSomeBorrowKind(Boolean isMutable) - -private class BorrowKind extends TBorrowKind { - predicate isNoBorrow() { this = TNoBorrowKind() } - - predicate isSharedBorrow() { this = TSomeBorrowKind(false) } + predicate isSharedBorrow() { this = TSomeBorrowKind(false) } predicate isMutableBorrow() { this = TSomeBorrowKind(true) } @@ -1587,1681 +1788,1102 @@ private module AssocFunctionResolution { exists( string name, int arity, TypeOption typeQualifier, TypeOption traitQualifier, boolean hasReceiver - | - afc.hasSyntacticInfo(name, arity, typeQualifier, traitQualifier, hasReceiver) and - assocFunctionInfoBlanketLikeCheck(f, name, arity, selfPos, impl, self, blanketPath, - blanketTypeParam, typeQualifier, traitQualifier, hasReceiver) - | - if not afc.hasATrait() then callVisibleImplTraitCandidate(afc, impl) else any() - ) - } - - /** - * A (potential) call to an associated function. - * - * This is either: - * - * 1. `MethodCallExprAssocFunctionCall`: a method call, `x.m()`; - * 2. `IndexExprAssocFunctionCall`: an index expression, `x[i]`, which is [syntactic sugar][1] - * for `*x.index(i)`; - * 3. `CallExprAssocFunctionCall`: a qualified function call, `Q::f(x)`; or - * 4. `OperationAssocFunctionCall`: an operation expression, `x + y`, which is syntactic sugar - * for `Add::add(x, y)`. - * 5. `DynamicAssocFunctionCall`: a call to a closure, `c(x)`, which is syntactic sugar for - * `c.call_once(x)`, `c.call_mut(x)`, or `c.call(x)`. - * - * Note that only in case 1 and 2 is auto-dereferencing and borrowing allowed. - * - * Note also that only case 3 is a _potential_ call; in all other cases, we are guaranteed that - * the target is an associated function (in fact, a method). - * - * [1]: https://doc.rust-lang.org/std/ops/trait.Index.html - */ - abstract class AssocFunctionCall extends Expr { - /** - * Holds if this call targets a function named `name` with `arity` parameters - * (including `self`). - */ - pragma[nomagic] - abstract predicate hasNameAndArity(string name, int arity); - - abstract AstNode getNonReturnNodeAt(FunctionPosition pos); - - AstNode getNodeAt(FunctionPosition pos) { - result = this.getNonReturnNodeAt(pos) - or - result = this and pos.isReturn() - } - - /** Holds if this call has a receiver and hence must target a method. */ - abstract predicate hasReceiver(); - - abstract predicate supportsAutoDerefAndBorrow(); - - /** Gets the trait targeted by this call, if any. */ - abstract Trait getTrait(); - - /** Holds if this call targets a trait. */ - predicate hasTrait() { exists(this.getTrait()) } - - Trait getATrait() { - result = this.getTrait() - or - result = getALookupTrait(this, getCallExprTypeQualifier(this, TypePath::nil(), _)) - } - - predicate hasATrait() { exists(this.getATrait()) } - - private Type getNonTypeParameterTypeQualifier() { - result = getCallExprTypeQualifier(this, TypePath::nil(), _) and - not result instanceof TypeParameter - } - - /** - * Holds if this call has the given purely syntactic information, that is, - * information that does not rely on type inference. - */ - pragma[nomagic] - predicate hasSyntacticInfo( - string name, int arity, TypeOption typeQualifier, TypeOption traitQualifier, - boolean hasReceiver - ) { - this.hasNameAndArity(name, arity) and - (if this.hasReceiver() then hasReceiver = true else hasReceiver = false) and - ( - typeQualifier.asSome() = this.getNonTypeParameterTypeQualifier() - or - not exists(this.getNonTypeParameterTypeQualifier()) and - typeQualifier.isNone() - ) and - ( - traitQualifier.asSome() = TTrait(this.getATrait()) - or - not this.hasATrait() and - traitQualifier.isNone() - ) - } - - Type getTypeAt(FunctionPosition pos, TypePath path) { - result = inferType(this.getNodeAt(pos), path) - } - - /** - * Holds if `selfPos` is a potentially relevant function-call adjusted position - * for resolving this call. - * - * Only holds when we don't know for sure that the target is a method (in those - * cases we rely on the receiver only). - */ - pragma[nomagic] - private predicate isRelevantSelfPos(FunctionPosition selfPos) { - not this.hasReceiver() and - exists(TypePath strippedTypePath, Type strippedType | - strippedType = substituteLookupTraits(this, this.getTypeAt(selfPos, strippedTypePath)) and - strippedType != TNeverType() and - strippedType != TUnknownType() - | - nonBlanketLikeCandidate(this, _, selfPos, _, _, strippedTypePath, strippedType) - or - blanketLikeCandidate(this, _, selfPos, _, _, strippedTypePath, _) - ) - } - - predicate hasReceiverAtPos(FunctionPosition pos) { this.hasReceiver() and pos.asPosition() = 0 } - - pragma[nomagic] - private predicate hasIncompatibleArgsTarget( - ImplOrTraitItemNode i, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, - AssocFunctionType selfType - ) { - SelfArgIsInstantiationOf::argIsInstantiationOf(this, i, selfPos, derefChain, borrow, selfType) and - OverloadedCallArgsAreInstantiationsOf::argsAreNotInstantiationsOf(this, i) - } - - /** - * Holds if the function inside `i` with matching name and arity can be ruled - * out as a target of this call, because the candidate receiver type represented - * by `derefChain` and `borrow` is incompatible with the type at function-call - * adjusted position `selfPos`. - * - * The types are incompatible because they disagree on a concrete type somewhere - * inside `root`. - */ - pragma[nomagic] - predicate hasIncompatibleTarget( - ImplOrTraitItemNode i, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, - Type root - ) { - exists(AssocFunctionType selfType | root = selfType.getTypeAt(TypePath::nil()) | - this.hasIncompatibleArgsTarget(i, selfPos, derefChain, borrow, selfType) - or - SelfArgIsInstantiationOf::argIsNotInstantiationOf(this, i, selfPos, derefChain, borrow, - selfType) - ) - } - - /** - * Holds if the function inside blanket-like implementation `impl` with matching name - * and arity can be ruled out as a target of this call, either because the candidate - * receiver type represented by `derefChain` and `borrow` is incompatible with the type - * at function-call adjusted position `selfPos`, or because the blanket constraint - * is not satisfied. - */ - pragma[nomagic] - predicate hasIncompatibleBlanketLikeTarget( - ImplItemNode impl, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow - ) { - SelfArgIsNotInstantiationOfBlanketLike::argIsNotInstantiationOf(MkAssocFunctionCallCand(this, - selfPos, derefChain, borrow), impl, _, _) - or - ArgSatisfiesBlanketLikeConstraint::dissatisfiesBlanketConstraint(MkAssocFunctionCallCand(this, - selfPos, derefChain, borrow), impl) - } - - pragma[nomagic] - private predicate hasNoInherentTargetCheck( - FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow - ) { - MkAssocFunctionCallCand(this, selfPos, derefChain, borrow) - .(AssocFunctionCallCand) - .hasNoInherentTargetCheck() - } - - pragma[nomagic] - private predicate hasNoInherentTargetTypeQualifierCheck() { - exists(FunctionPosition typeQualifierPos | - typeQualifierPos.isTypeQualifier() and - this.hasNoInherentTargetCheck(typeQualifierPos, DerefChain::nil(), TNoBorrowKind()) - ) - } - - pragma[nomagic] - predicate hasNoInherentTarget(FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow) { - this.hasNoInherentTargetCheck(selfPos, derefChain, borrow) and - if exists(this.getNonTypeParameterTypeQualifier()) and not selfPos.isTypeQualifier() - then - // If this call is of the form `Foo::bar(x)` and we are resolving with respect to the type - // of `x`, then we additionally need to check that the type qualifier does not give rise - // to an inherent target - this.hasNoInherentTargetTypeQualifierCheck() - else any() - } - - /** - * Same as `getSelfTypeAt`, but excludes pseudo types `!` and `unknown`. - */ - pragma[nomagic] - Type getANonPseudoSelfTypeAt( - FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, TypePath path - ) { - result = this.getSelfTypeAt(selfPos, derefChain, borrow, path) and - result != TNeverType() and - result != TUnknownType() - } - - pragma[nomagic] - Type getComplexStrippedSelfType( - FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, TypePath strippedTypePath - ) { - result = this.getANonPseudoSelfTypeAt(selfPos, derefChain, borrow, strippedTypePath) and - ( - isComplexRootStripped(strippedTypePath, result) - or - selfPos.isTypeQualifier() and strippedTypePath.isEmpty() - ) - } - - /** - * Holds if the candidate receiver type represented by `derefChain` and `borrow` - * does not have a matching call target at function-call adjusted position `selfPos`. - */ - predicate hasNoCompatibleTarget( - FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow - ) { - NoCompatibleTarget::hasNoCompatibleTarget(this, selfPos, derefChain, borrow) - } - - /** - * Holds if the candidate receiver type represented by `derefChain` and `borrow` - * does not have a matching non-blanket call target at function-call adjusted - * position `selfPos`. - */ - predicate hasNoCompatibleNonBlanketTarget( - FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow - ) { - NoCompatibleTarget::hasNoCompatibleNonBlanketTarget(this, selfPos, derefChain, borrow) - } - - /** - * Same as `getSelfTypeAt`, but without borrows. - */ - pragma[nomagic] - Type getSelfTypeAtNoBorrow(FunctionPosition selfPos, DerefChain derefChain, TypePath path) { - result = this.getTypeAt(selfPos, path) and - derefChain.isEmpty() and - ( - this.hasReceiverAtPos(selfPos) - or - selfPos.isTypeQualifier() - or - this.isRelevantSelfPos(selfPos) - ) - or - exists(DerefImplItemNode impl, DerefChain suffix | - result = - ImplicitDeref::getDereferencedCandidateReceiverType(this, selfPos, impl, suffix, path) and - derefChain = DerefChain::cons(impl, suffix) - ) - } - - /** - * Holds if this call may have an implicit borrow of kind `borrow` at - * function-call adjusted position `selfPos` with the given `derefChain`. - */ - pragma[nomagic] - predicate hasImplicitBorrowCand( - FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow - ) { - exists(BorrowKind prev | this.hasNoCompatibleTarget(selfPos, derefChain, prev) | - // first try shared borrow - prev.isNoBorrow() and - borrow.isSharedBorrow() - or - // then try mutable borrow - prev.isSharedBorrow() and - borrow.isMutableBorrow() - ) - } - - /** - * Gets the type of this call at function-call adjusted position `selfPos` and - * type path `path`. - * - * In case this call supports auto-dereferencing and borrowing and `selfPos` is - * position 0 (corresponding to the receiver), the result is a - * [candidate receiver type][1]: - * - * The type is obtained by repeatedly dereferencing the receiver expression's type, - * as long as the method cannot be resolved in an earlier candidate type, and possibly - * applying a borrow at the end. - * - * The parameter `derefChain` encodes the sequence of dereferences, and `borrows` indicates - * whether a borrow has been applied. - * - * [1]: https://doc.rust-lang.org/reference/expressions/method-call-expr.html#r-expr.method.candidate-receivers - */ - pragma[nomagic] - Type getSelfTypeAt( - FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, TypePath path - ) { - result = this.getSelfTypeAtNoBorrow(selfPos, derefChain, path) and - borrow.isNoBorrow() - or - exists(RefType rt | - this.hasImplicitBorrowCand(selfPos, derefChain, borrow) and - rt = borrow.getRefType() - | - path.isEmpty() and - result = rt - or - exists(TypePath suffix | - result = this.getSelfTypeAtNoBorrow(selfPos, derefChain, suffix) and - path = TypePath::cons(rt.getPositionalTypeParameter(0), suffix) - ) - ) - } - - /** - * Gets a function that this call resolves to after having applied a sequence of - * dereferences and possibly a borrow on the receiver type at `selfPos`, encoded - * in `derefChain` and `borrow`. - */ - pragma[nomagic] - AssocFunctionDeclaration resolveCallTarget( - ImplOrTraitItemNode i, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow - ) { - exists(AssocFunctionCallCand afcc | - afcc = MkAssocFunctionCallCand(this, selfPos, derefChain, borrow) and - result = afcc.resolveCallTarget(i) - ) - } - - /** - * Holds if the argument `arg` of this call has been implicitly dereferenced - * and borrowed according to `derefChain` and `borrow`, in order to be able to - * resolve the call target. - */ - predicate argumentHasImplicitDerefChainBorrow(Expr arg, DerefChain derefChain, BorrowKind borrow) { - exists(FunctionPosition selfAdj | - this.hasReceiverAtPos(selfAdj) and - exists(this.resolveCallTarget(_, selfAdj, derefChain, borrow)) and - arg = this.getNodeAt(selfAdj) and - not (derefChain.isEmpty() and borrow.isNoBorrow()) - ) - } - } - - private class MethodCallExprAssocFunctionCall extends AssocFunctionCall instanceof MethodCallExpr { - override predicate hasNameAndArity(string name, int arity) { - name = super.getIdentifier().getText() and - arity = super.getNumberOfSyntacticArguments() - } - - override predicate hasReceiver() { any() } - - override Expr getNonReturnNodeAt(FunctionPosition pos) { - result = super.getReceiver() and - pos.asPosition() = 0 - or - result = super.getPositionalArgument(pos.asPosition() - 1) - } - - override predicate supportsAutoDerefAndBorrow() { any() } - - override Trait getTrait() { none() } - } - - private class IndexExprAssocFunctionCall extends AssocFunctionCall, IndexExpr { - private predicate isInMutableContext() { - // todo: does not handle all cases yet - VariableImpl::assignmentOperationDescendant(_, this) - } - - override predicate hasNameAndArity(string name, int arity) { - (if this.isInMutableContext() then name = "index_mut" else name = "index") and - arity = 2 - } - - override predicate hasReceiver() { any() } - - override Expr getNonReturnNodeAt(FunctionPosition pos) { - pos.asPosition() = 0 and - result = this.getBase() - or - pos.asPosition() = 1 and - result = this.getIndex() - } - - override predicate supportsAutoDerefAndBorrow() { any() } - - override Trait getTrait() { - if this.isInMutableContext() - then result instanceof IndexMutTrait - else result instanceof IndexTrait - } - } - - private class CallExprAssocFunctionCall extends AssocFunctionCall, CallExpr { - CallExprAssocFunctionCall() { - exists(getCallExprPathQualifier(this)) and - // even if a target cannot be resolved by path resolution, it may still - // be possible to resolve a blanket implementation (so not `forex`) - forall(ItemNode i | i = CallExprImpl::getResolvedFunction(this) | - i instanceof AssocFunctionDeclaration - ) - } - - override predicate hasNameAndArity(string name, int arity) { - name = CallExprImpl::getFunctionPath(this).getText() and - arity = this.getNumberOfSyntacticArguments() - } - - override predicate hasReceiver() { none() } - - override Expr getNonReturnNodeAt(FunctionPosition pos) { - result = this.getSyntacticPositionalArgument(pos.asPosition()) - } - - override Type getTypeAt(FunctionPosition pos, TypePath path) { - result = super.getTypeAt(pos, path) - or - pos.isTypeQualifier() and - result = getCallExprTypeQualifier(this, path, _) - } - - override predicate supportsAutoDerefAndBorrow() { none() } - - override Trait getTrait() { result = getCallExprTraitQualifier(this) } - } - - final class OperationAssocFunctionCall extends AssocFunctionCall, Operation { - override predicate hasNameAndArity(string name, int arity) { - this.isOverloaded(_, name, _) and - arity = this.getNumberOfOperands() - } - - override predicate hasReceiver() { any() } - - override Expr getNonReturnNodeAt(FunctionPosition pos) { - result = this.getOperand(pos.asPosition()) - } - - private predicate implicitBorrowAt(FunctionPosition pos, boolean isMutable) { - exists(int borrows | this.isOverloaded(_, _, borrows) | - pos.asPosition() = 0 and - borrows >= 1 and - if this instanceof CompoundAssignmentExpr then isMutable = true else isMutable = false - or - pos.asPosition() = 1 and - borrows = 2 and - isMutable = false - ) - } - - override Type getTypeAt(FunctionPosition pos, TypePath path) { - exists(boolean isMutable, RefType rt | - this.implicitBorrowAt(pos, isMutable) and - rt = getRefType(isMutable) - | - result = rt and - path.isEmpty() - or - exists(TypePath path0 | - result = inferType(this.getNodeAt(pos), path0) and - path = TypePath::cons(rt.getPositionalTypeParameter(0), path0) - ) - ) - or - not this.implicitBorrowAt(pos, _) and - result = inferType(this.getNodeAt(pos), path) - } - - override predicate argumentHasImplicitDerefChainBorrow( - Expr arg, DerefChain derefChain, BorrowKind borrow - ) { - exists(FunctionPosition pos, boolean isMutable | - this.implicitBorrowAt(pos, isMutable) and - arg = this.getNodeAt(pos) and - derefChain = DerefChain::nil() and - borrow = TSomeBorrowKind(isMutable) - ) - } - - override predicate supportsAutoDerefAndBorrow() { none() } - - override Trait getTrait() { this.isOverloaded(result, _, _) } - } - - private class DynamicAssocFunctionCall extends AssocFunctionCall instanceof CallExprImpl::DynamicCallExpr - { - pragma[nomagic] - override predicate hasNameAndArity(string name, int arity) { - name = "call_once" and // todo: handle call_mut and call - arity = 2 // args are passed in a tuple - } - - override predicate hasReceiver() { any() } - - override AstNode getNonReturnNodeAt(FunctionPosition pos) { - pos.asPosition() = 0 and - result = super.getFunction() - or - pos.asPosition() = 1 and - result = super.getArgList() - } - - override predicate supportsAutoDerefAndBorrow() { any() } - - override Trait getTrait() { result instanceof AnyFnTrait } - } - - /** - * Provides logic for efficiently checking that there are no compatible call - * targets for a given candidate receiver type. - * - * For calls with non-blanket target candidates, we need to check: - * - * ```text - * forall types `t` where `t` is a lookup type for the given candidate receiver type: - * forall non-blanket candidates `c` matching `t`: - * check that `c` is not a compatible target - * ``` - * - * Instead of implementing the above using `forall`, we apply the standard trick - * of using ranked recursion. - */ - private module NoCompatibleTarget { - private import codeql.rust.elements.internal.generated.Raw - private import codeql.rust.elements.internal.generated.Synth - - private class RawImplOrTrait = @impl or @trait; - - private predicate id(RawImplOrTrait x, RawImplOrTrait y) { x = y } - - private predicate idOfRaw(RawImplOrTrait x, int y) = equivalenceRelation(id/2)(x, y) - - private int idOfImplOrTraitItemNode(ImplOrTraitItemNode i) { - idOfRaw(Synth::convertAstNodeToRaw(i), result) - } - - /** - * Holds if `t` is the `n`th lookup type for the candidate receiver type - * represented by `derefChain` and `borrow` at function-call adjusted position - * `selfPos` of `afc`. - * - * There are no compatible non-blanket-like candidates for lookup types `0` to `n - 1`. - */ - pragma[nomagic] - private predicate noCompatibleNonBlanketLikeTargetCandNthLookupType( - AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, - TypePath strippedTypePath, Type strippedType, int n, Type t - ) { - ( - ( - ( - afc.supportsAutoDerefAndBorrow() and - afc.hasReceiverAtPos(selfPos) - or - // needed for the `hasNoCompatibleNonBlanketTarget` check in - // `ArgSatisfiesBlanketLikeConstraintInput::hasBlanketCandidate` - exists(ImplItemNode i | - derefChain.isEmpty() and - blanketLikeCandidate(afc, _, selfPos, i, _, _, _) and - i.isBlanketImplementation() - ) - ) and - borrow.isNoBorrow() - or - afc.hasImplicitBorrowCand(selfPos, derefChain, borrow) - ) and - strippedType = afc.getComplexStrippedSelfType(selfPos, derefChain, borrow, strippedTypePath) and - n = 0 - or - hasNoCompatibleNonBlanketLikeTargetForNthLookupType(afc, selfPos, derefChain, borrow, - strippedTypePath, strippedType, n - 1) - ) and - t = getNthLookupType(afc, strippedType, n) - } - - pragma[nomagic] - private ImplOrTraitItemNode getKthNonBlanketLikeCandidateForNthLookupType( - AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, - TypePath strippedTypePath, Type strippedType, int n, Type t, int k - ) { - noCompatibleNonBlanketLikeTargetCandNthLookupType(afc, selfPos, derefChain, borrow, - strippedTypePath, strippedType, n, t) and - result = - rank[k + 1](ImplOrTraitItemNode i, int id | - nonBlanketLikeCandidate(afc, _, selfPos, i, _, strippedTypePath, t) and - id = idOfImplOrTraitItemNode(i) - | - i order by id - ) - } - - pragma[nomagic] - private int getLastNonBlanketLikeCandidateForNthLookupType( - AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, - TypePath strippedTypePath, Type strippedType, int n - ) { - exists(Type t | - noCompatibleNonBlanketLikeTargetCandNthLookupType(afc, selfPos, derefChain, borrow, - strippedTypePath, strippedType, n, t) and - result = - count(ImplOrTraitItemNode i | - nonBlanketLikeCandidate(afc, _, selfPos, i, _, strippedTypePath, t) - ) - 1 - ) - } - - pragma[nomagic] - private predicate hasNoCompatibleNonBlanketLikeTargetForNthLookupTypeToIndex( - AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, - TypePath strippedTypePath, Type strippedType, int n, int k - ) { - exists(Type t | - noCompatibleNonBlanketLikeTargetCandNthLookupType(afc, selfPos, derefChain, borrow, - strippedTypePath, strippedType, n, t) - | - k = -1 - or - hasNoCompatibleNonBlanketLikeTargetForNthLookupTypeToIndex(afc, selfPos, derefChain, borrow, - strippedTypePath, strippedType, n, k - 1) and - exists(ImplOrTraitItemNode i | - i = - getKthNonBlanketLikeCandidateForNthLookupType(afc, selfPos, derefChain, borrow, - strippedTypePath, strippedType, n, t, k) and - afc.hasIncompatibleTarget(i, selfPos, derefChain, borrow, t) - ) - ) - } - - pragma[nomagic] - private predicate hasNoCompatibleNonBlanketLikeTargetForNthLookupType( - AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, - TypePath strippedTypePath, Type strippedType, int n - ) { - exists(int last | - last = - getLastNonBlanketLikeCandidateForNthLookupType(afc, selfPos, derefChain, borrow, - strippedTypePath, strippedType, n) and - hasNoCompatibleNonBlanketLikeTargetForNthLookupTypeToIndex(afc, selfPos, derefChain, borrow, - strippedTypePath, strippedType, n, last) - ) - } - - pragma[nomagic] - private predicate hasNoCompatibleNonBlanketLikeTarget( - AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow - ) { - exists(Type strippedType | - hasNoCompatibleNonBlanketLikeTargetForNthLookupType(afc, selfPos, derefChain, borrow, _, - strippedType, getLastLookupTypeIndex(afc, strippedType)) - ) - } - - pragma[nomagic] - predicate hasNoCompatibleTarget( - AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow - ) { - hasNoCompatibleNonBlanketLikeTarget(afc, selfPos, derefChain, borrow) and - // todo: replace with ranked recursion if needed - forall(ImplItemNode i | blanketLikeCandidate(afc, _, selfPos, i, _, _, _) | - afc.hasIncompatibleBlanketLikeTarget(i, selfPos, derefChain, borrow) - ) - } + | + afc.hasSyntacticInfo(name, arity, typeQualifier, traitQualifier, hasReceiver) and + assocFunctionInfoBlanketLikeCheck(f, name, arity, selfPos, impl, self, blanketPath, + blanketTypeParam, typeQualifier, traitQualifier, hasReceiver) + | + if not afc.hasATrait() then callVisibleImplTraitCandidate(afc, impl) else any() + ) + } + /** + * A (potential) call to an associated function. + * + * This is either: + * + * 1. `MethodCallExprAssocFunctionCall`: a method call, `x.m()`; + * 2. `IndexExprAssocFunctionCall`: an index expression, `x[i]`, which is [syntactic sugar][1] + * for `*x.index(i)`; + * 3. `CallExprAssocFunctionCall`: a qualified function call, `Q::f(x)`; or + * 4. `OperationAssocFunctionCall`: an operation expression, `x + y`, which is syntactic sugar + * for `Add::add(x, y)`. + * 5. `DynamicAssocFunctionCall`: a call to a closure, `c(x)`, which is syntactic sugar for + * `c.call_once(x)`, `c.call_mut(x)`, or `c.call(x)`. + * + * Note that only in case 1 and 2 is auto-dereferencing and borrowing allowed. + * + * Note also that only case 3 is a _potential_ call; in all other cases, we are guaranteed that + * the target is an associated function (in fact, a method). + * + * [1]: https://doc.rust-lang.org/std/ops/trait.Index.html + */ + abstract class AssocFunctionCall extends Expr { + /** + * Holds if this call targets a function named `name` with `arity` parameters + * (including `self`). + */ pragma[nomagic] - predicate hasNoCompatibleNonBlanketTarget( - AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow - ) { - hasNoCompatibleNonBlanketLikeTarget(afc, selfPos, derefChain, borrow) and - // todo: replace with ranked recursion if needed - forall(ImplItemNode i | - blanketLikeCandidate(afc, _, selfPos, i, _, _, _) and - not i.isBlanketImplementation() - | - afc.hasIncompatibleBlanketLikeTarget(i, selfPos, derefChain, borrow) - ) - } - } + abstract predicate hasNameAndArity(string name, int arity); - pragma[nomagic] - private AssocFunctionDeclaration getAssocFunctionSuccessor( - ImplOrTraitItemNode i, string name, int arity - ) { - result = i.getASuccessor(name) and - arity = result.getNumberOfParamsInclSelf() - } + abstract AstNode getNonReturnNodeAt(FunctionPosition pos); - private newtype TAssocFunctionCallCand = - MkAssocFunctionCallCand( - AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow - ) { - exists(afc.getANonPseudoSelfTypeAt(selfPos, derefChain, borrow, _)) + AstNode getNodeAt(FunctionPosition pos) { + result = this.getNonReturnNodeAt(pos) + or + result = this and pos.isReturn() } - /** A call with a dereference chain and a potential borrow at a given position. */ - final private class AssocFunctionCallCand extends MkAssocFunctionCallCand { - AssocFunctionCall afc_; - FunctionPosition selfPos_; - DerefChain derefChain; - BorrowKind borrow; + /** Holds if this call has a receiver and hence must target a method. */ + abstract predicate hasReceiver(); - AssocFunctionCallCand() { this = MkAssocFunctionCallCand(afc_, selfPos_, derefChain, borrow) } + abstract predicate supportsAutoDerefAndBorrow(); - AssocFunctionCall getAssocFunctionCall() { result = afc_ } + /** Gets the trait targeted by this call, if any. */ + abstract Trait getTrait(); - ItemNode getEnclosingItemNode() { result.getADescendant() = afc_ } + /** Holds if this call targets a trait. */ + predicate hasTrait() { exists(this.getTrait()) } - Type getTypeAt(TypePath path) { - result = - substituteLookupTraits(afc_, - afc_.getANonPseudoSelfTypeAt(selfPos_, derefChain, borrow, path)) + Trait getATrait() { + result = this.getTrait() + or + result = getALookupTrait(this, getCallExprTypeQualifier(this, TypePath::nil(), _)) } - pragma[nomagic] - predicate hasNoCompatibleNonBlanketTarget() { - afc_.hasNoCompatibleNonBlanketTarget(selfPos_, derefChain, borrow) + predicate hasATrait() { exists(this.getATrait()) } + + private Type getNonTypeParameterTypeQualifier() { + result = getCallExprTypeQualifier(this, TypePath::nil(), _) and + not result instanceof TypeParameter } + /** + * Holds if this call has the given purely syntactic information, that is, + * information that does not rely on type inference. + */ pragma[nomagic] - predicate hasSignature( - AssocFunctionCall afc, FunctionPosition selfPos, TypePath strippedTypePath, Type strippedType, - string name, int arity + predicate hasSyntacticInfo( + string name, int arity, TypeOption typeQualifier, TypeOption traitQualifier, + boolean hasReceiver ) { - strippedType = this.getTypeAt(strippedTypePath) and + this.hasNameAndArity(name, arity) and + (if this.hasReceiver() then hasReceiver = true else hasReceiver = false) and ( - isComplexRootStripped(strippedTypePath, strippedType) + typeQualifier.asSome() = this.getNonTypeParameterTypeQualifier() or - selfPos_.isTypeQualifier() and strippedTypePath.isEmpty() + not exists(this.getNonTypeParameterTypeQualifier()) and + typeQualifier.isNone() ) and - afc = afc_ and - afc.hasNameAndArity(name, arity) and - selfPos = selfPos_ + ( + traitQualifier.asSome() = TTrait(this.getATrait()) + or + not this.hasATrait() and + traitQualifier.isNone() + ) } - /** - * Holds if the inherent function inside `impl` with matching name and arity can be - * ruled out as a candidate for this call. - */ - pragma[nomagic] - private predicate hasIncompatibleInherentTarget(Impl impl) { - SelfArgIsNotInstantiationOfInherent::argIsNotInstantiationOf(this, impl, _, _) + Type getTypeAt(FunctionPosition pos, TypePath path) { + result = inferType(this.getNodeAt(pos), path) } + /** + * Holds if `selfPos` is a potentially relevant function-call adjusted position + * for resolving this call. + * + * Only holds when we don't know for sure that the target is a method (in those + * cases we rely on the receiver only). + */ pragma[nomagic] - predicate hasNoInherentTargetCheck() { - exists( - TypePath strippedTypePath, Type strippedType, string name, int arity, - TypeOption typeQualifier, TypeOption traitQualifier, boolean hasReceiver, - boolean targetMustBeMethod + private predicate isRelevantSelfPos(FunctionPosition selfPos) { + not this.hasReceiver() and + exists(TypePath strippedTypePath, Type strippedType | + strippedType = substituteLookupTraits(this, this.getTypeAt(selfPos, strippedTypePath)) and + not strippedType instanceof PseudoType | - // Calls to inherent functions are always of the form `x.m(...)` or `Foo::bar(...)`, - // where `Foo` is a type. In case `bar` is a method, we can use both the type qualifier - // and the type of the first argument to rule out candidates - selfPos_.isTypeQualifier() and targetMustBeMethod = false + nonBlanketLikeCandidate(this, _, selfPos, _, _, strippedTypePath, strippedType) or - selfPos_.asPosition() = 0 and targetMustBeMethod = true - | - afc_.hasSyntacticInfo(name, arity, typeQualifier, traitQualifier, hasReceiver) and - (if hasReceiver = true then targetMustBeMethod = true else any()) and - this.hasSignature(_, selfPos_, strippedTypePath, strippedType, name, arity) and - forall(Impl i | - i.isInherent() and - ( - assocFunctionInfoNonBlanketLikeCheck(_, name, arity, selfPos_, i, _, strippedTypePath, - strippedType, typeQualifier, traitQualifier, targetMustBeMethod) - or - assocFunctionInfoNonBlanketLikeTypeParamCheck(_, name, arity, selfPos_, i, _, - strippedTypePath, typeQualifier, traitQualifier, targetMustBeMethod) - ) - | - this.hasIncompatibleInherentTarget(i) - ) + blanketLikeCandidate(this, _, selfPos, _, _, strippedTypePath, _) ) } - /** - * Holds if this function call has no inherent target, i.e., it does not - * resolve to a function in an `impl` block for the type of the receiver. - */ - pragma[nomagic] - predicate hasNoInherentTarget() { - afc_.hasTrait() - or - afc_.hasNoInherentTarget(selfPos_, derefChain, borrow) - } + predicate hasReceiverAtPos(FunctionPosition pos) { this.hasReceiver() and pos.asPosition() = 0 } pragma[nomagic] - private predicate selfArgIsInstantiationOf(ImplOrTraitItemNode i, string name, int arity) { - SelfArgIsInstantiationOf::argIsInstantiationOf(this, i, _) and - afc_.hasNameAndArity(name, arity) + private predicate hasIncompatibleArgsTarget( + ImplOrTraitItemNode i, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, + AssocFunctionType selfType + ) { + SelfArgIsInstantiationOf::argIsInstantiationOf(this, i, selfPos, derefChain, borrow, selfType) and + OverloadedCallArgsAreInstantiationsOf::argsAreNotInstantiationsOf(this, i) } + /** + * Holds if the function inside `i` with matching name and arity can be ruled + * out as a target of this call, because the candidate receiver type represented + * by `derefChain` and `borrow` is incompatible with the type at function-call + * adjusted position `selfPos`. + * + * The types are incompatible because they disagree on a concrete type somewhere + * inside `root`. + */ pragma[nomagic] - AssocFunctionDeclaration resolveCallTargetCand(ImplOrTraitItemNode i) { - exists(string name, int arity | - this.selfArgIsInstantiationOf(i, name, arity) and - result = getAssocFunctionSuccessor(i, name, arity) + predicate hasIncompatibleTarget( + ImplOrTraitItemNode i, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, + Type root + ) { + exists(AssocFunctionType selfType | root = selfType.getTypeAt(TypePath::nil()) | + this.hasIncompatibleArgsTarget(i, selfPos, derefChain, borrow, selfType) + or + SelfArgIsInstantiationOf::argIsNotInstantiationOf(this, i, selfPos, derefChain, borrow, + selfType) ) } - /** Gets the associated function targeted by this call, if any. */ - pragma[nomagic] - AssocFunctionDeclaration resolveCallTarget(ImplOrTraitItemNode i) { - result = this.resolveCallTargetCand(i) and - not FunctionOverloading::functionResolutionDependsOnArgument(i, result, _, _) - or - OverloadedCallArgsAreInstantiationsOf::argsAreInstantiationsOf(this, i, result) - } - - string toString() { - result = afc_ + " at " + selfPos_ + " [" + derefChain.toString() + "; " + borrow + "]" - } - - Location getLocation() { result = afc_.getLocation() } - } - - /** - * Provides logic for resolving implicit `Deref::deref` calls. - */ - private module ImplicitDeref { - private newtype TCallDerefCand = - MkCallDerefCand(AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain) { - afc.supportsAutoDerefAndBorrow() and - afc.hasReceiverAtPos(selfPos) and - afc.hasNoCompatibleTarget(selfPos, derefChain, TSomeBorrowKind(true)) and - exists(afc.getSelfTypeAtNoBorrow(selfPos, derefChain, TypePath::nil())) - } - - /** A call with a dereference chain. */ - private class CallDerefCand extends MkCallDerefCand { - AssocFunctionCall afc; - FunctionPosition selfPos; - DerefChain derefChain; - - CallDerefCand() { this = MkCallDerefCand(afc, selfPos, derefChain) } - - Type getTypeAt(TypePath path) { - result = substituteLookupTraits(afc, afc.getSelfTypeAtNoBorrow(selfPos, derefChain, path)) and - result != TNeverType() and - result != TUnknownType() - } - - string toString() { result = afc + " [" + derefChain.toString() + "]" } - - Location getLocation() { result = afc.getLocation() } + /** + * Holds if the function inside blanket-like implementation `impl` with matching name + * and arity can be ruled out as a target of this call, either because the candidate + * receiver type represented by `derefChain` and `borrow` is incompatible with the type + * at function-call adjusted position `selfPos`, or because the blanket constraint + * is not satisfied. + */ + pragma[nomagic] + predicate hasIncompatibleBlanketLikeTarget( + ImplItemNode impl, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow + ) { + SelfArgIsNotInstantiationOfBlanketLike::argIsNotInstantiationOf(MkAssocFunctionCallCand(this, + selfPos, derefChain, borrow), impl, _, _) + or + ArgSatisfiesBlanketLikeConstraint::dissatisfiesBlanketConstraint(MkAssocFunctionCallCand(this, + selfPos, derefChain, borrow), impl) } - private module CallSatisfiesDerefConstraintInput implements SatisfiesTypeInputSig - { - pragma[nomagic] - predicate relevantConstraint(CallDerefCand mc, Type constraint) { - exists(mc) and - constraint.(TraitType).getTrait() instanceof DerefTrait - } + pragma[nomagic] + private predicate hasNoInherentTargetCheck( + FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow + ) { + MkAssocFunctionCallCand(this, selfPos, derefChain, borrow) + .(AssocFunctionCallCand) + .hasNoInherentTargetCheck() } - private module CallSatisfiesDerefConstraint = - SatisfiesType; + pragma[nomagic] + private predicate hasNoInherentTargetTypeQualifierCheck() { + exists(FunctionPosition typeQualifierPos | + typeQualifierPos.isTypeQualifier() and + this.hasNoInherentTargetCheck(typeQualifierPos, DerefChain::nil(), TNoBorrowKind()) + ) + } pragma[nomagic] - private AssociatedTypeTypeParameter getDerefTargetTypeParameter() { - result.getTypeAlias() = any(DerefTrait ft).getTargetType() + predicate hasNoInherentTarget(FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow) { + this.hasNoInherentTargetCheck(selfPos, derefChain, borrow) and + if exists(this.getNonTypeParameterTypeQualifier()) and not selfPos.isTypeQualifier() + then + // If this call is of the form `Foo::bar(x)` and we are resolving with respect to the type + // of `x`, then we additionally need to check that the type qualifier does not give rise + // to an inherent target + this.hasNoInherentTargetTypeQualifierCheck() + else any() } /** - * Gets the type of the receiver of `afc` at `path` after applying the implicit - * dereference inside `impl`, following the existing dereference chain `derefChain`. + * Same as `getSelfTypeAt`, but excludes pseudo types `!` and `unknown`. */ pragma[nomagic] - Type getDereferencedCandidateReceiverType( - AssocFunctionCall afc, FunctionPosition selfPos, DerefImplItemNode impl, - DerefChain derefChain, TypePath path + Type getANonPseudoSelfTypeAt( + FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, TypePath path ) { - exists(CallDerefCand cdc, TypePath exprPath | - cdc = MkCallDerefCand(afc, selfPos, derefChain) and - CallSatisfiesDerefConstraint::satisfiesConstraintThrough(cdc, impl, _, exprPath, result) and - exprPath.isCons(getDerefTargetTypeParameter(), path) - ) + result = this.getSelfTypeAt(selfPos, derefChain, borrow, path) and + not result instanceof PseudoType } - } - private module ArgSatisfiesBlanketLikeConstraintInput implements - BlanketImplementation::SatisfiesBlanketConstraintInputSig - { pragma[nomagic] - predicate hasBlanketCandidate( - AssocFunctionCallCand afcc, ImplItemNode impl, TypePath blanketPath, - TypeParam blanketTypeParam + Type getComplexStrippedSelfType( + FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, TypePath strippedTypePath ) { - exists(AssocFunctionCall afc, FunctionPosition selfPos, BorrowKind borrow | - afcc = MkAssocFunctionCallCand(afc, selfPos, _, borrow) and - blanketLikeCandidate(afc, _, selfPos, impl, _, blanketPath, blanketTypeParam) and - // Only apply blanket implementations when no other implementations are possible; - // this is to account for codebases that use the (unstable) specialization feature - // (https://rust-lang.github.io/rfcs/1210-impl-specialization.html), as well as - // cases where our blanket implementation filtering is not precise enough. - if impl.isBlanketImplementation() then afcc.hasNoCompatibleNonBlanketTarget() else any() + result = this.getANonPseudoSelfTypeAt(selfPos, derefChain, borrow, strippedTypePath) and + ( + isComplexRootStripped(strippedTypePath, result) + or + selfPos.isTypeQualifier() and strippedTypePath.isEmpty() ) } - } - private module ArgSatisfiesBlanketLikeConstraint = - BlanketImplementation::SatisfiesBlanketConstraint; - - /** - * A configuration for matching the type of an argument against the type of - * a function at a function-call adjusted position relevant for dispatch - * (such as a `self` parameter). - */ - private module SelfArgIsInstantiationOfInput implements - IsInstantiationOfInputSig - { - pragma[nomagic] - additional predicate potentialInstantiationOf0( - AssocFunctionCallCand afcc, ImplOrTraitItemNode i, AssocFunctionType selfType + /** + * Holds if the candidate receiver type represented by `derefChain` and `borrow` + * does not have a matching call target at function-call adjusted position `selfPos`. + */ + predicate hasNoCompatibleTarget( + FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow ) { - exists( - AssocFunctionCall afc, FunctionPosition selfPos, Function f, TypePath strippedTypePath, - Type strippedType - | - afcc.hasSignature(afc, selfPos, strippedTypePath, strippedType, _, _) - | - nonBlanketLikeCandidate(afc, f, selfPos, i, selfType, strippedTypePath, strippedType) - or - blanketLikeCandidate(afc, f, selfPos, i, selfType, _, _) and - ArgSatisfiesBlanketLikeConstraint::satisfiesBlanketConstraint(afcc, i) - ) + NoCompatibleTarget::hasNoCompatibleTarget(this, selfPos, derefChain, borrow) } - pragma[nomagic] - predicate potentialInstantiationOf( - AssocFunctionCallCand afcc, TypeAbstraction abs, AssocFunctionType constraint + /** + * Holds if the candidate receiver type represented by `derefChain` and `borrow` + * does not have a matching non-blanket call target at function-call adjusted + * position `selfPos`. + */ + predicate hasNoCompatibleNonBlanketTarget( + FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow ) { - potentialInstantiationOf0(afcc, abs, constraint) and - if abs.(Impl).hasTraitTy() - then - // inherent functions take precedence over trait functions, so only allow - // trait functions when there are no matching inherent functions - afcc.hasNoInherentTarget() - else any() + NoCompatibleTarget::hasNoCompatibleNonBlanketTarget(this, selfPos, derefChain, borrow) } - predicate relevantConstraint(AssocFunctionType constraint) { - assocFunctionInfo(_, _, _, _, _, constraint, _, _, _, _, _) + /** + * Same as `getSelfTypeAt`, but without borrows. + */ + pragma[nomagic] + Type getSelfTypeAtNoBorrow(FunctionPosition selfPos, DerefChain derefChain, TypePath path) { + result = this.getTypeAt(selfPos, path) and + derefChain.isEmpty() and + ( + this.hasReceiverAtPos(selfPos) + or + selfPos.isTypeQualifier() + or + this.isRelevantSelfPos(selfPos) + ) + or + exists(DerefImplItemNode impl, DerefChain suffix | + result = + ImplicitDeref::getDereferencedCandidateReceiverType(this, selfPos, impl, suffix, path) and + derefChain = DerefChain::cons(impl, suffix) + ) } - } - - private module SelfArgIsInstantiationOf { - import ArgIsInstantiationOf + /** + * Holds if this call may have an implicit borrow of kind `borrow` at + * function-call adjusted position `selfPos` with the given `derefChain`. + */ pragma[nomagic] - predicate argIsNotInstantiationOf( - AssocFunctionCall afc, ImplOrTraitItemNode i, FunctionPosition selfPos, DerefChain derefChain, - BorrowKind borrow, AssocFunctionType selfType + predicate hasImplicitBorrowCand( + FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow ) { - exists(TypePath path | - argIsNotInstantiationOf(MkAssocFunctionCallCand(afc, selfPos, derefChain, borrow), i, - selfType, path) and - not path.isEmpty() + exists(BorrowKind prev | this.hasNoCompatibleTarget(selfPos, derefChain, prev) | + // first try shared borrow + prev.isNoBorrow() and + borrow.isSharedBorrow() + or + // then try mutable borrow + prev.isSharedBorrow() and + borrow.isMutableBorrow() ) } + /** + * Gets the type of this call at function-call adjusted position `selfPos` and + * type path `path`. + * + * In case this call supports auto-dereferencing and borrowing and `selfPos` is + * position 0 (corresponding to the receiver), the result is a + * [candidate receiver type][1]: + * + * The type is obtained by repeatedly dereferencing the receiver expression's type, + * as long as the method cannot be resolved in an earlier candidate type, and possibly + * applying a borrow at the end. + * + * The parameter `derefChain` encodes the sequence of dereferences, and `borrows` indicates + * whether a borrow has been applied. + * + * [1]: https://doc.rust-lang.org/reference/expressions/method-call-expr.html#r-expr.method.candidate-receivers + */ pragma[nomagic] - predicate argIsInstantiationOf( - AssocFunctionCall afc, ImplOrTraitItemNode i, FunctionPosition selfPos, DerefChain derefChain, - BorrowKind borrow, AssocFunctionType selfType + Type getSelfTypeAt( + FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, TypePath path ) { - argIsInstantiationOf(MkAssocFunctionCallCand(afc, selfPos, derefChain, borrow), i, selfType) + result = this.getSelfTypeAtNoBorrow(selfPos, derefChain, path) and + borrow.isNoBorrow() + or + exists(RefType rt | + this.hasImplicitBorrowCand(selfPos, derefChain, borrow) and + rt = borrow.getRefType() + | + path.isEmpty() and + result = rt + or + exists(TypePath suffix | + result = this.getSelfTypeAtNoBorrow(selfPos, derefChain, suffix) and + path = TypePath::cons(rt.getPositionalTypeParameter(0), suffix) + ) + ) } - } - /** - * A configuration for anti-matching the type of an argument against the type of - * a function at a function-call adjusted position relevant for dispatch - * (such as a `self` parameter) in a blanket (like) implementation. - */ - private module SelfArgIsNotInstantiationOfBlanketLikeInput implements - IsInstantiationOfInputSig - { + /** + * Gets a function that this call resolves to after having applied a sequence of + * dereferences and possibly a borrow on the receiver type at `selfPos`, encoded + * in `derefChain` and `borrow`. + */ pragma[nomagic] - predicate potentialInstantiationOf( - AssocFunctionCallCand afcc, TypeAbstraction abs, AssocFunctionType constraint + AssocFunctionDeclaration resolveCallTarget( + ImplOrTraitItemNode i, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow ) { - exists(AssocFunctionCall afc, FunctionPosition selfPos | - afcc = MkAssocFunctionCallCand(afc, selfPos, _, _) and - blanketLikeCandidate(afc, _, selfPos, abs, constraint, _, _) and - if abs.(Impl).hasTraitTy() - then - // inherent functions take precedence over trait functions, so only allow - // trait functions when there are no matching inherent functions - afcc.hasNoInherentTarget() - else any() + exists(AssocFunctionCallCand afcc | + afcc = MkAssocFunctionCallCand(this, selfPos, derefChain, borrow) and + result = afcc.resolveCallTarget(i) + ) + } + + pragma[nomagic] + predicate resolutionDependsOnReturnType() { + exists(AssocFunctionCallCand afcc | + afcc = MkAssocFunctionCallCand(this, _, _, _) and + afcc.resolutionDependsOnReturnType() + ) + } + + /** + * Holds if the argument `arg` of this call has been implicitly dereferenced + * and borrowed according to `derefChain` and `borrow`, in order to be able to + * resolve the call target. + */ + predicate argumentHasImplicitDerefChainBorrow(Expr arg, DerefChain derefChain, BorrowKind borrow) { + exists(FunctionPosition selfAdj | + this.hasReceiverAtPos(selfAdj) and + exists(this.resolveCallTarget(_, selfAdj, derefChain, borrow)) and + arg = this.getNodeAt(selfAdj) and + not (derefChain.isEmpty() and borrow.isNoBorrow()) ) } } - private module SelfArgIsNotInstantiationOfBlanketLike = - ArgIsInstantiationOf; + private class MethodCallExprAssocFunctionCall extends AssocFunctionCall instanceof MethodCallExpr { + override predicate hasNameAndArity(string name, int arity) { + name = super.getIdentifier().getText() and + arity = super.getNumberOfSyntacticArguments() + } - /** - * A configuration for anti-matching the type of an argument against the type of - * a function at a function-call adjusted position relevant for dispatch (such as - * a `self` parameter) in an inherent function. - */ - private module SelfArgIsNotInstantiationOfInherentInput implements - IsInstantiationOfInputSig - { - pragma[nomagic] - predicate potentialInstantiationOf( - AssocFunctionCallCand afcc, TypeAbstraction abs, AssocFunctionType constraint - ) { - SelfArgIsInstantiationOfInput::potentialInstantiationOf0(afcc, abs, constraint) and - abs.(Impl).isInherent() and - exists(AssocFunctionCall afc, FunctionPosition selfPos | - afcc = MkAssocFunctionCallCand(afc, selfPos, _, _) - | - selfPos.isTypeQualifier() or - afc.hasReceiverAtPos(selfPos) - ) + override predicate hasReceiver() { any() } + + override Expr getNonReturnNodeAt(FunctionPosition pos) { + result = super.getReceiver() and + pos.asPosition() = 0 + or + result = super.getPositionalArgument(pos.asPosition() - 1) } + + override predicate supportsAutoDerefAndBorrow() { any() } + + override Trait getTrait() { none() } } - private module SelfArgIsNotInstantiationOfInherent = - ArgIsInstantiationOf; + private class IndexExprAssocFunctionCall extends AssocFunctionCall, IndexExpr { + private predicate isInMutableContext() { + // todo: does not handle all cases yet + VariableImpl::assignmentOperationDescendant(_, this) + } - /** - * A configuration for matching the types of positional arguments against the - * types of parameters, when needed to disambiguate the call. - */ - private module OverloadedCallArgsAreInstantiationsOfInput implements - ArgsAreInstantiationsOfInputSig - { - predicate toCheck(ImplOrTraitItemNode i, Function f, TypeParameter traitTp, FunctionPosition pos) { - FunctionOverloading::functionResolutionDependsOnArgument(i, f, traitTp, pos) + override predicate hasNameAndArity(string name, int arity) { + (if this.isInMutableContext() then name = "index_mut" else name = "index") and + arity = 2 } - class Call extends AssocFunctionCallCand { - Type getArgType(FunctionPosition pos, TypePath path) { - result = this.getAssocFunctionCall().getTypeAt(pos, path) - } + override predicate hasReceiver() { any() } - predicate hasTargetCand(ImplOrTraitItemNode i, Function f) { - f = this.resolveCallTargetCand(i) - } + override Expr getNonReturnNodeAt(FunctionPosition pos) { + pos.asPosition() = 0 and + result = this.getBase() + or + pos.asPosition() = 1 and + result = this.getIndex() } - } - private module OverloadedCallArgsAreInstantiationsOf { - import ArgsAreInstantiationsOf + override predicate supportsAutoDerefAndBorrow() { any() } - pragma[nomagic] - predicate argsAreNotInstantiationsOf(AssocFunctionCall afc, ImplOrTraitItemNode i) { - argsAreNotInstantiationsOf(MkAssocFunctionCallCand(afc, _, _, _), i, _) + override Trait getTrait() { + if this.isInMutableContext() + then result instanceof IndexMutTrait + else result instanceof IndexTrait } } -} -/** - * A matching configuration for resolving types of function call expressions - * like `foo.bar(baz)` and `Foo::bar(baz)`. - */ -private module FunctionCallMatchingInput implements MatchingWithEnvironmentInputSig { - import FunctionPositionMatchingInput + private class CallExprAssocFunctionCall extends AssocFunctionCall, CallExpr { + CallExprAssocFunctionCall() { + exists(getCallExprPathQualifier(this)) and + // even if a target cannot be resolved by path resolution, it may still + // be possible to resolve a blanket implementation (so not `forex`) + forall(ItemNode i | i = CallExprImpl::getResolvedFunction(this) | + i instanceof AssocFunctionDeclaration + ) + } + + override predicate hasNameAndArity(string name, int arity) { + name = CallExprImpl::getFunctionPath(this).getText() and + arity = this.getNumberOfSyntacticArguments() + } + + override predicate hasReceiver() { none() } + + override Expr getNonReturnNodeAt(FunctionPosition pos) { + result = this.getSyntacticPositionalArgument(pos.asPosition()) + } + + override Type getTypeAt(FunctionPosition pos, TypePath path) { + result = super.getTypeAt(pos, path) + or + pos.isTypeQualifier() and + result = getCallExprTypeQualifier(this, path, _) + } - private newtype TDeclaration = - TFunctionDeclaration(ImplOrTraitItemNodeOption i, FunctionDeclaration f) { f.isFor(i) } + override predicate supportsAutoDerefAndBorrow() { none() } - final class Declaration extends TFunctionDeclaration { - ImplOrTraitItemNodeOption i; - FunctionDeclaration f; + override Trait getTrait() { result = getCallExprTraitQualifier(this) } + } - Declaration() { this = TFunctionDeclaration(i, f) } + final class OperationAssocFunctionCall extends AssocFunctionCall, Operation { + override predicate hasNameAndArity(string name, int arity) { + this.isOverloaded(_, name, _) and + arity = this.getNumberOfOperands() + } - FunctionDeclaration getFunction() { result = f } + override predicate hasReceiver() { any() } - predicate isAssocFunction(ImplOrTraitItemNode i_, Function f_) { - i_ = i.asSome() and - f_ = f + override Expr getNonReturnNodeAt(FunctionPosition pos) { + result = this.getOperand(pos.asPosition()) } - TypeParameter getTypeParameter(TypeParameterPosition ppos) { - result = f.getTypeParameter(i, ppos) + predicate implicitBorrowAt(FunctionPosition pos, boolean isMutable) { + exists(int borrows | this.isOverloaded(_, _, borrows) | + pos.asPosition() = 0 and + borrows >= 1 and + if this instanceof CompoundAssignmentExpr then isMutable = true else isMutable = false + or + pos.asPosition() = 1 and + borrows = 2 and + isMutable = false + ) } - Type getDeclaredType(FunctionPosition pos, TypePath path) { - result = f.getParameterType(i, pos, path) + override Type getTypeAt(FunctionPosition pos, TypePath path) { + exists(boolean isMutable, RefType rt | + this.implicitBorrowAt(pos, isMutable) and + rt = getRefType(isMutable) + | + result = rt and + path.isEmpty() + or + exists(TypePath path0 | + result = inferType(this.getNodeAt(pos), path0) and + path = TypePath::cons(rt.getPositionalTypeParameter(0), path0) + ) + ) or - pos.isReturn() and - result = f.getReturnType(i, path) + not this.implicitBorrowAt(pos, _) and + result = inferType(this.getNodeAt(pos), path) } - string toString() { - i.isNone() and result = f.toString() - or - result = f.toStringExt(i.asSome()) + override predicate argumentHasImplicitDerefChainBorrow( + Expr arg, DerefChain derefChain, BorrowKind borrow + ) { + exists(FunctionPosition pos, boolean isMutable | + this.implicitBorrowAt(pos, isMutable) and + arg = this.getNodeAt(pos) and + derefChain = DerefChain::nil() and + borrow = TSomeBorrowKind(isMutable) + ) } - Location getLocation() { result = f.getLocation() } - } + override predicate supportsAutoDerefAndBorrow() { none() } - pragma[nomagic] - private TypeMention getAdditionalTypeParameterConstraint(TypeParameter tp, Declaration decl) { - result = - tp.(TypeParamTypeParameter) - .getTypeParam() - .getAdditionalTypeBound(decl.getFunction(), _) - .getTypeRepr() + override Trait getTrait() { this.isOverloaded(result, _, _) } } - bindingset[decl] - TypeMention getATypeParameterConstraint(TypeParameter tp, Declaration decl) { - result = Input2::getATypeParameterConstraint(tp) and - exists(decl) - or - result = getAdditionalTypeParameterConstraint(tp, decl) - } + private class DynamicAssocFunctionCall extends AssocFunctionCall instanceof CallExprImpl::DynamicCallExpr + { + pragma[nomagic] + override predicate hasNameAndArity(string name, int arity) { + name = "call_once" and // todo: handle call_mut and call + arity = 2 // args are passed in a tuple + } - class AccessEnvironment = string; + override predicate hasReceiver() { any() } - bindingset[derefChain, borrow] - private AccessEnvironment encodeDerefChainBorrow(DerefChain derefChain, BorrowKind borrow) { - result = derefChain + ";" + borrow - } + override AstNode getNonReturnNodeAt(FunctionPosition pos) { + pos.asPosition() = 0 and + result = super.getFunction() + or + pos.asPosition() = 1 and + result = super.getArgList() + } - bindingset[derefChainBorrow] - additional predicate decodeDerefChainBorrow( - string derefChainBorrow, DerefChain derefChain, BorrowKind borrow - ) { - exists(int i | - i = derefChainBorrow.indexOf(";") and - derefChain = derefChainBorrow.prefix(i) and - borrow.toString() = derefChainBorrow.suffix(i + 1) - ) - } + override predicate supportsAutoDerefAndBorrow() { any() } - private string noDerefChainBorrow() { - exists(DerefChain derefChain, BorrowKind borrow | - derefChain.isEmpty() and - borrow.isNoBorrow() and - result = encodeDerefChainBorrow(derefChain, borrow) - ) + override Trait getTrait() { result instanceof AnyFnTrait } } - abstract class Access extends ContextTyping::ContextTypedCallCand { - abstract AstNode getNodeAt(FunctionPosition pos); + /** + * Provides logic for efficiently checking that there are no compatible call + * targets for a given candidate receiver type. + * + * For calls with non-blanket target candidates, we need to check: + * + * ```text + * forall types `t` where `t` is a lookup type for the given candidate receiver type: + * forall non-blanket candidates `c` matching `t`: + * check that `c` is not a compatible target + * ``` + * + * Instead of implementing the above using `forall`, we apply the standard trick + * of using ranked recursion. + */ + private module NoCompatibleTarget { + private import codeql.rust.elements.internal.generated.Raw + private import codeql.rust.elements.internal.generated.Synth + + private class RawImplOrTrait = @impl or @trait; + + private predicate id(RawImplOrTrait x, RawImplOrTrait y) { x = y } - bindingset[derefChainBorrow] - abstract Type getInferredType(string derefChainBorrow, FunctionPosition pos, TypePath path); + private predicate idOfRaw(RawImplOrTrait x, int y) = equivalenceRelation(id/2)(x, y) - abstract Declaration getTarget(string derefChainBorrow); + private int idOfImplOrTraitItemNode(ImplOrTraitItemNode i) { + idOfRaw(Synth::convertAstNodeToRaw(i), result) + } /** - * Holds if the return type of this call at `path` may have to be inferred - * from the context. + * Holds if `t` is the `n`th lookup type for the candidate receiver type + * represented by `derefChain` and `borrow` at function-call adjusted position + * `selfPos` of `afc`. + * + * There are no compatible non-blanket-like candidates for lookup types `0` to `n - 1`. */ - abstract predicate hasUnknownTypeAt(string derefChainBorrow, FunctionPosition pos, TypePath path); - } - - private class AssocFunctionCallAccess extends Access instanceof AssocFunctionResolution::AssocFunctionCall - { - AssocFunctionCallAccess() { - // handled in the `OperationMatchingInput` module - not this instanceof Operation + pragma[nomagic] + private predicate noCompatibleNonBlanketLikeTargetCandNthLookupType( + AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, + TypePath strippedTypePath, Type strippedType, int n, Type t + ) { + ( + ( + ( + afc.supportsAutoDerefAndBorrow() and + afc.hasReceiverAtPos(selfPos) + or + // needed for the `hasNoCompatibleNonBlanketTarget` check in + // `ArgSatisfiesBlanketLikeConstraintInput::hasBlanketCandidate` + exists(ImplItemNode i | + derefChain.isEmpty() and + blanketLikeCandidate(afc, _, selfPos, i, _, _, _) and + i.isBlanketImplementation() + ) + ) and + borrow.isNoBorrow() + or + afc.hasImplicitBorrowCand(selfPos, derefChain, borrow) + ) and + strippedType = afc.getComplexStrippedSelfType(selfPos, derefChain, borrow, strippedTypePath) and + n = 0 + or + hasNoCompatibleNonBlanketLikeTargetForNthLookupType(afc, selfPos, derefChain, borrow, + strippedTypePath, strippedType, n - 1) + ) and + t = getNthLookupType(afc, strippedType, n) } pragma[nomagic] - override Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { + private ImplOrTraitItemNode getKthNonBlanketLikeCandidateForNthLookupType( + AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, + TypePath strippedTypePath, Type strippedType, int n, Type t, int k + ) { + noCompatibleNonBlanketLikeTargetCandNthLookupType(afc, selfPos, derefChain, borrow, + strippedTypePath, strippedType, n, t) and result = - this.(MethodCallExpr) - .getGenericArgList() - .getTypeArg(apos.asMethodTypeArgumentPosition()) - .(TypeMention) - .getTypeAt(path) - or - result = getCallExprTypeArgument(this, apos, path) - } - - override AstNode getNodeAt(FunctionPosition pos) { - result = AssocFunctionResolution::AssocFunctionCall.super.getNodeAt(pos) + rank[k + 1](ImplOrTraitItemNode i, int id | + nonBlanketLikeCandidate(afc, _, selfPos, i, _, strippedTypePath, t) and + id = idOfImplOrTraitItemNode(i) + | + i order by id + ) } pragma[nomagic] - private Type getInferredSelfType(FunctionPosition pos, string derefChainBorrow, TypePath path) { - exists(DerefChain derefChain, BorrowKind borrow | - result = super.getSelfTypeAt(pos, derefChain, borrow, path) and - derefChainBorrow = encodeDerefChainBorrow(derefChain, borrow) and - super.hasReceiverAtPos(pos) + private int getLastNonBlanketLikeCandidateForNthLookupType( + AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, + TypePath strippedTypePath, Type strippedType, int n + ) { + exists(Type t | + noCompatibleNonBlanketLikeTargetCandNthLookupType(afc, selfPos, derefChain, borrow, + strippedTypePath, strippedType, n, t) and + result = + count(ImplOrTraitItemNode i | + nonBlanketLikeCandidate(afc, _, selfPos, i, _, strippedTypePath, t) + ) - 1 ) } pragma[nomagic] - private Type getInferredNonSelfType(FunctionPosition pos, TypePath path) { - if - // index expression `x[i]` desugars to `*x.index(i)`, so we must account for - // the implicit deref - pos.isReturn() and - this instanceof IndexExpr - then - path.isEmpty() and - result instanceof RefType + private predicate hasNoCompatibleNonBlanketLikeTargetForNthLookupTypeToIndex( + AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, + TypePath strippedTypePath, Type strippedType, int n, int k + ) { + exists(Type t | + noCompatibleNonBlanketLikeTargetCandNthLookupType(afc, selfPos, derefChain, borrow, + strippedTypePath, strippedType, n, t) + | + k = -1 or - exists(TypePath suffix | - result = super.getTypeAt(pos, suffix) and - path = TypePath::cons(getRefTypeParameter(_), suffix) + hasNoCompatibleNonBlanketLikeTargetForNthLookupTypeToIndex(afc, selfPos, derefChain, borrow, + strippedTypePath, strippedType, n, k - 1) and + exists(ImplOrTraitItemNode i | + i = + getKthNonBlanketLikeCandidateForNthLookupType(afc, selfPos, derefChain, borrow, + strippedTypePath, strippedType, n, t, k) and + afc.hasIncompatibleTarget(i, selfPos, derefChain, borrow, t) ) - else ( - not super.hasReceiverAtPos(pos) and - result = super.getTypeAt(pos, path) ) } - bindingset[derefChainBorrow] - override Type getInferredType(string derefChainBorrow, FunctionPosition pos, TypePath path) { - result = this.getInferredSelfType(pos, derefChainBorrow, path) - or - result = this.getInferredNonSelfType(pos, path) + pragma[nomagic] + private predicate hasNoCompatibleNonBlanketLikeTargetForNthLookupType( + AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow, + TypePath strippedTypePath, Type strippedType, int n + ) { + exists(int last | + last = + getLastNonBlanketLikeCandidateForNthLookupType(afc, selfPos, derefChain, borrow, + strippedTypePath, strippedType, n) and + hasNoCompatibleNonBlanketLikeTargetForNthLookupTypeToIndex(afc, selfPos, derefChain, borrow, + strippedTypePath, strippedType, n, last) + ) } - private AssocFunctionDeclaration getTarget(ImplOrTraitItemNode i, string derefChainBorrow) { - exists(DerefChain derefChain, BorrowKind borrow | - derefChainBorrow = encodeDerefChainBorrow(derefChain, borrow) and - result = super.resolveCallTarget(i, _, derefChain, borrow) // mutual recursion; resolving method calls requires resolving types and vice versa + pragma[nomagic] + private predicate hasNoCompatibleNonBlanketLikeTarget( + AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow + ) { + exists(Type strippedType | + hasNoCompatibleNonBlanketLikeTargetForNthLookupType(afc, selfPos, derefChain, borrow, _, + strippedType, getLastLookupTypeIndex(afc, strippedType)) ) } - override Declaration getTarget(string derefChainBorrow) { - exists(ImplOrTraitItemNode i | result.isAssocFunction(i, this.getTarget(i, derefChainBorrow))) + pragma[nomagic] + predicate hasNoCompatibleTarget( + AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow + ) { + hasNoCompatibleNonBlanketLikeTarget(afc, selfPos, derefChain, borrow) and + // todo: replace with ranked recursion if needed + forall(ImplItemNode i | blanketLikeCandidate(afc, _, selfPos, i, _, _, _) | + afc.hasIncompatibleBlanketLikeTarget(i, selfPos, derefChain, borrow) + ) } pragma[nomagic] - override predicate hasUnknownTypeAt(string derefChainBorrow, FunctionPosition pos, TypePath path) { - exists(ImplOrTraitItemNode i | - this.hasUnknownTypeAt(i, this.getTarget(i, derefChainBorrow), pos, path) - ) - or - derefChainBorrow = noDerefChainBorrow() and - forex(ImplOrTraitItemNode i, Function f | - f = CallExprImpl::getResolvedFunction(this) and - f = i.getAnAssocItem() + predicate hasNoCompatibleNonBlanketTarget( + AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow + ) { + hasNoCompatibleNonBlanketLikeTarget(afc, selfPos, derefChain, borrow) and + // todo: replace with ranked recursion if needed + forall(ImplItemNode i | + blanketLikeCandidate(afc, _, selfPos, i, _, _, _) and + not i.isBlanketImplementation() | - this.hasUnknownTypeAt(i, f, pos, path) + afc.hasIncompatibleBlanketLikeTarget(i, selfPos, derefChain, borrow) ) } } - private class NonAssocFunctionCallAccess extends Access instanceof NonAssocCallExpr, - CallExprImpl::CallExprCall - { - pragma[nomagic] - override Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { - result = NonAssocCallExpr.super.getTypeArgument(apos, path) - } + pragma[nomagic] + private AssocFunctionDeclaration getAssocFunctionSuccessor( + ImplOrTraitItemNode i, string name, int arity + ) { + result = i.getASuccessor(name) and + arity = result.getNumberOfParamsInclSelf() + } - override AstNode getNodeAt(FunctionPosition pos) { - result = NonAssocCallExpr.super.getNodeAt(pos) + private newtype TAssocFunctionCallCand = + MkAssocFunctionCallCand( + AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain, BorrowKind borrow + ) { + exists(afc.getANonPseudoSelfTypeAt(selfPos, derefChain, borrow, _)) } - pragma[nomagic] - private Type getInferredType(FunctionPosition pos, TypePath path) { - result = super.getInferredType(pos, path) - } + /** A call with a dereference chain and a potential borrow at a given position. */ + final private class AssocFunctionCallCand extends MkAssocFunctionCallCand { + AssocFunctionCall afc_; + FunctionPosition selfPos_; + DerefChain derefChain; + BorrowKind borrow; - bindingset[derefChainBorrow] - override Type getInferredType(string derefChainBorrow, FunctionPosition pos, TypePath path) { - exists(derefChainBorrow) and - result = this.getInferredType(pos, path) - } + AssocFunctionCallCand() { this = MkAssocFunctionCallCand(afc_, selfPos_, derefChain, borrow) } - pragma[nomagic] - private Declaration getTarget() { + AssocFunctionCall getAssocFunctionCall() { result = afc_ } + + ItemNode getEnclosingItemNode() { result.getADescendant() = afc_ } + + Type getTypeAt(TypePath path) { result = - TFunctionDeclaration(ImplOrTraitItemNodeOption::none_(), - super.resolveCallTargetViaPathResolution()) + substituteLookupTraits(afc_, + afc_.getANonPseudoSelfTypeAt(selfPos_, derefChain, borrow, path)) } - override Declaration getTarget(string derefChainBorrow) { - result = this.getTarget() and - derefChainBorrow = noDerefChainBorrow() + pragma[nomagic] + predicate hasNoCompatibleNonBlanketTarget() { + afc_.hasNoCompatibleNonBlanketTarget(selfPos_, derefChain, borrow) } pragma[nomagic] - override predicate hasUnknownTypeAt(string derefChainBorrow, FunctionPosition pos, TypePath path) { - derefChainBorrow = noDerefChainBorrow() and - exists(FunctionDeclaration f, TypeParameter tp | - f = super.resolveCallTargetViaPathResolution() and - pos.isReturn() and - tp = f.getReturnType(_, path) and - not tp = f.getParameterType(_, _, _) and - // check that no explicit type arguments have been supplied for `tp` - not exists(TypeArgumentPosition tapos | - this.hasTypeArgument(tapos) and - TTypeParamTypeParameter(tapos.asTypeParam()) = tp - ) - ) + predicate hasSignature( + AssocFunctionCall afc, FunctionPosition selfPos, TypePath strippedTypePath, Type strippedType, + string name, int arity + ) { + strippedType = this.getTypeAt(strippedTypePath) and + ( + isComplexRootStripped(strippedTypePath, strippedType) + or + selfPos_.isTypeQualifier() and strippedTypePath.isEmpty() + ) and + afc = afc_ and + afc.hasNameAndArity(name, arity) and + selfPos = selfPos_ } - } -} - -private module FunctionCallMatching = MatchingWithEnvironment; - -pragma[nomagic] -private Type inferFunctionCallType0( - FunctionCallMatchingInput::Access call, FunctionPosition pos, AstNode n, DerefChain derefChain, - BorrowKind borrow, TypePath path -) { - exists(TypePath path0 | - n = call.getNodeAt(pos) and - exists(string derefChainBorrow | - FunctionCallMatchingInput::decodeDerefChainBorrow(derefChainBorrow, derefChain, borrow) - | - result = FunctionCallMatching::inferAccessType(call, derefChainBorrow, pos, path0) - or - call.hasUnknownTypeAt(derefChainBorrow, pos, path0) and - result = TUnknownType() - ) - | - if - // index expression `x[i]` desugars to `*x.index(i)`, so we must account for - // the implicit deref - pos.isReturn() and - call instanceof IndexExpr - then path0.isCons(getRefTypeParameter(_), path) - else path = path0 - ) -} - -pragma[nomagic] -private Type inferFunctionCallTypeNonSelf(AstNode n, FunctionPosition pos, TypePath path) { - exists(FunctionCallMatchingInput::Access call | - result = inferFunctionCallType0(call, pos, n, _, _, path) and - not call.(AssocFunctionResolution::AssocFunctionCall).hasReceiverAtPos(pos) - ) -} -/** - * Gets the type of `n` at `path` after applying `derefChain`, where `n` is the - * `self` argument of a method call. - * - * The predicate recursively pops the head of `derefChain` until it becomes - * empty, at which point the inferred type can be applied back to `n`. - */ -pragma[nomagic] -private Type inferFunctionCallTypeSelf( - FunctionCallMatchingInput::Access call, AstNode n, DerefChain derefChain, TypePath path -) { - exists(FunctionPosition pos, BorrowKind borrow, TypePath path0 | - call.(AssocFunctionResolution::AssocFunctionCall).hasReceiverAtPos(pos) and - result = inferFunctionCallType0(call, pos, n, derefChain, borrow, path0) - | - borrow.isNoBorrow() and - path = path0 - or - // adjust for implicit borrow - exists(TypePath prefix | - prefix = TypePath::singleton(borrow.getRefType().getPositionalTypeParameter(0)) and - path0 = prefix.appendInverse(path) - ) - ) - or - // adjust for implicit deref - exists( - DerefChain derefChain0, Type t0, TypePath path0, DerefImplItemNode impl, Type selfParamType, - TypePath selfPath - | - t0 = inferFunctionCallTypeSelf(call, n, derefChain0, path0) and - derefChain0.isCons(impl, derefChain) and - selfParamType = impl.resolveSelfTypeAt(selfPath) - | - result = selfParamType and - path = selfPath and - not result instanceof TypeParameter - or - exists(TypePath pathToTypeParam, TypePath suffix | - impl.targetHasTypeParameterAt(pathToTypeParam, selfParamType) and - path0 = pathToTypeParam.appendInverse(suffix) and - result = t0 and - path = selfPath.append(suffix) - ) - ) -} + /** + * Holds if the inherent function inside `impl` with matching name and arity can be + * ruled out as a candidate for this call. + */ + pragma[nomagic] + private predicate hasIncompatibleInherentTarget(Impl impl) { + SelfArgIsNotInstantiationOfInherent::argIsNotInstantiationOf(this, impl, _, _) + } -private Type inferFunctionCallTypePreCheck( - AstNode n, ContextTyping::FunctionPositionKind kind, TypePath path -) { - exists(FunctionPosition pos | - result = inferFunctionCallTypeNonSelf(n, pos, path) and - if pos.isPosition() - then kind = ContextTyping::PositionalKind() - else kind = ContextTyping::ReturnKind() - ) - or - exists(FunctionCallMatchingInput::Access a | - result = inferFunctionCallTypeSelf(a, n, DerefChain::nil(), path) and - if a.(AssocFunctionResolution::AssocFunctionCall).hasReceiver() - then kind = ContextTyping::SelfKind() - else kind = ContextTyping::PositionalKind() - ) -} + pragma[nomagic] + predicate hasNoInherentTargetCheck() { + exists( + TypePath strippedTypePath, Type strippedType, string name, int arity, + TypeOption typeQualifier, TypeOption traitQualifier, boolean hasReceiver, + boolean targetMustBeMethod + | + // Calls to inherent functions are always of the form `x.m(...)` or `Foo::bar(...)`, + // where `Foo` is a type. In case `bar` is a method, we can use both the type qualifier + // and the type of the first argument to rule out candidates + selfPos_.isTypeQualifier() and targetMustBeMethod = false + or + selfPos_.asPosition() = 0 and targetMustBeMethod = true + | + afc_.hasSyntacticInfo(name, arity, typeQualifier, traitQualifier, hasReceiver) and + (if hasReceiver = true then targetMustBeMethod = true else any()) and + this.hasSignature(_, selfPos_, strippedTypePath, strippedType, name, arity) and + forall(Impl i | + i.isInherent() and + ( + assocFunctionInfoNonBlanketLikeCheck(_, name, arity, selfPos_, i, _, strippedTypePath, + strippedType, typeQualifier, traitQualifier, targetMustBeMethod) + or + assocFunctionInfoNonBlanketLikeTypeParamCheck(_, name, arity, selfPos_, i, _, + strippedTypePath, typeQualifier, traitQualifier, targetMustBeMethod) + ) + | + this.hasIncompatibleInherentTarget(i) + ) + ) + } -/** - * Gets the type of `n` at `path`, where `n` is either a function call or an - * argument/receiver of a function call. - */ -private predicate inferFunctionCallType = - ContextTyping::CheckContextTyping::check/2; + /** + * Holds if this function call has no inherent target, i.e., it does not + * resolve to a function in an `impl` block for the type of the receiver. + */ + pragma[nomagic] + predicate hasNoInherentTarget() { + afc_.hasTrait() + or + afc_.hasNoInherentTarget(selfPos_, derefChain, borrow) + } -abstract private class Constructor extends Addressable { - final TypeParameter getTypeParameter(TypeParameterPosition ppos) { - typeParamMatchPosition(this.getTypeItem().getGenericParamList().getATypeParam(), result, ppos) - } + pragma[nomagic] + private predicate selfArgIsInstantiationOf(ImplOrTraitItemNode i, string name, int arity) { + SelfArgIsInstantiationOf::argIsInstantiationOf(this, i, _) and + afc_.hasNameAndArity(name, arity) + } - abstract TypeItem getTypeItem(); + pragma[nomagic] + AssocFunctionDeclaration resolveCallTargetCand(ImplOrTraitItemNode i) { + exists(string name, int arity | + this.selfArgIsInstantiationOf(i, name, arity) and + result = getAssocFunctionSuccessor(i, name, arity) + ) + } - abstract TypeRepr getParameterTypeRepr(int pos); + /** Gets the associated function targeted by this call, if any. */ + pragma[nomagic] + AssocFunctionDeclaration resolveCallTarget(ImplOrTraitItemNode i) { + result = this.resolveCallTargetCand(i) and + not FunctionOverloading::functionResolutionDependsOnArgument(i, result, _, _) + or + OverloadedCallArgsAreInstantiationsOf::argsAreInstantiationsOf(this, i, result) + } - Type getReturnType(TypePath path) { - result = TDataType(this.getTypeItem()) and - path.isEmpty() - or - result = TTypeParamTypeParameter(this.getTypeItem().getGenericParamList().getATypeParam()) and - path = TypePath::singleton(result) - } + pragma[nomagic] + predicate resolutionDependsOnReturnType() { + exists( + ImplOrTraitItemNode i, AssocFunctionDeclaration target, TypeParameter tp, + FunctionPosition pos + | + target = this.resolveCallTargetCand(i) and + FunctionOverloading::functionResolutionDependsOnArgument(i, target, tp, pos) and + pos.isReturn() + ) + } - Type getDeclaredType(FunctionPosition pos, TypePath path) { - result = this.getParameterType(pos.asPosition(), path) - or - pos.isReturn() and - result = this.getReturnType(path) - } + string toString() { + result = afc_ + " at " + selfPos_ + " [" + derefChain.toString() + "; " + borrow + "]" + } - Type getParameterType(int pos, TypePath path) { - result = this.getParameterTypeRepr(pos).(TypeMention).getTypeAt(path) + Location getLocation() { result = afc_.getLocation() } } -} -private class StructConstructor extends Constructor instanceof Struct { - override TypeItem getTypeItem() { result = this } - - override TypeRepr getParameterTypeRepr(int i) { - result = [super.getTupleField(i).getTypeRepr(), super.getNthStructField(i).getTypeRepr()] - } -} + /** + * Provides logic for resolving implicit `Deref::deref` calls. + */ + private module ImplicitDeref { + private newtype TCallDerefCand = + MkCallDerefCand(AssocFunctionCall afc, FunctionPosition selfPos, DerefChain derefChain) { + afc.supportsAutoDerefAndBorrow() and + afc.hasReceiverAtPos(selfPos) and + afc.hasNoCompatibleTarget(selfPos, derefChain, TSomeBorrowKind(true)) and + exists(afc.getSelfTypeAtNoBorrow(selfPos, derefChain, TypePath::nil())) + } -private class VariantConstructor extends Constructor instanceof Variant { - override TypeItem getTypeItem() { result = super.getEnum() } + /** A call with a dereference chain. */ + private class CallDerefCand extends MkCallDerefCand { + AssocFunctionCall afc; + FunctionPosition selfPos; + DerefChain derefChain; - override TypeRepr getParameterTypeRepr(int i) { - result = [super.getTupleField(i).getTypeRepr(), super.getNthStructField(i).getTypeRepr()] - } -} + CallDerefCand() { this = MkCallDerefCand(afc, selfPos, derefChain) } -/** - * A matching configuration for resolving types of constructions of enums and - * structs, such as `Result::Ok(42)`, `Foo { bar: 1 }` and `None`. - */ -private module ConstructionMatchingInput implements MatchingInputSig { - import FunctionPositionMatchingInput + Type getTypeAt(TypePath path) { + result = substituteLookupTraits(afc, afc.getSelfTypeAtNoBorrow(selfPos, derefChain, path)) and + not result instanceof PseudoType + } - class Declaration = Constructor; + string toString() { result = afc + " [" + derefChain.toString() + "]" } - abstract class Access extends AstNode { - abstract Type getInferredType(FunctionPosition pos, TypePath path); + Location getLocation() { result = afc.getLocation() } + } - abstract Declaration getTarget(); + private module CallSatisfiesDerefConstraintInput implements SatisfiesTypeInputSig + { + pragma[nomagic] + predicate relevantConstraint(CallDerefCand mc, Type constraint) { + exists(mc) and + constraint.(TraitType).getTrait() instanceof DerefTrait + } + } - abstract AstNode getNodeAt(AccessPosition apos); + private module CallSatisfiesDerefConstraint = + SatisfiesType; - abstract Type getTypeArgument(TypeArgumentPosition apos, TypePath path); + pragma[nomagic] + private AssociatedTypeTypeParameter getDerefTargetTypeParameter() { + result.getTypeAlias() = any(DerefTrait ft).getTargetType() + } /** - * Holds if the return type of this construction expression at `path` may - * have to be inferred from the context. For example in `Result::Ok(42)` the - * error type has to be inferred from the context. + * Gets the type of the receiver of `afc` at `path` after applying the implicit + * dereference inside `impl`, following the existing dereference chain `derefChain`. */ pragma[nomagic] - predicate hasUnknownTypeAt(FunctionPosition pos, TypePath path) { - exists(Declaration d, TypeParameter tp | - d = this.getTarget() and - pos.isReturn() and - tp = d.getReturnType(path) and - not exists(FunctionPosition pos2 | not pos2.isReturn() and tp = d.getDeclaredType(pos2, _)) and - // check that no explicit type arguments have been supplied for `tp` - not exists(TypeArgumentPosition tapos | - exists(this.getTypeArgument(tapos, _)) and - TTypeParamTypeParameter(tapos.asTypeParam()) = tp - ) + Type getDereferencedCandidateReceiverType( + AssocFunctionCall afc, FunctionPosition selfPos, DerefImplItemNode impl, + DerefChain derefChain, TypePath path + ) { + exists(CallDerefCand cdc, TypePath exprPath | + cdc = MkCallDerefCand(afc, selfPos, derefChain) and + CallSatisfiesDerefConstraint::satisfiesConstraintThrough(cdc, impl, _, exprPath, result) and + exprPath.isCons(getDerefTargetTypeParameter(), path) ) } } - private class NonAssocCallAccess extends Access, NonAssocCallExpr, - ContextTyping::ContextTypedCallCand + private module ArgSatisfiesBlanketLikeConstraintInput implements + BlanketImplementation::SatisfiesBlanketConstraintInputSig { - NonAssocCallAccess() { - this instanceof CallExprImpl::TupleStructExpr or - this instanceof CallExprImpl::TupleVariantExpr + pragma[nomagic] + predicate hasBlanketCandidate( + AssocFunctionCallCand afcc, ImplItemNode impl, TypePath blanketPath, + TypeParam blanketTypeParam + ) { + exists(AssocFunctionCall afc, FunctionPosition selfPos, BorrowKind borrow | + afcc = MkAssocFunctionCallCand(afc, selfPos, _, borrow) and + blanketLikeCandidate(afc, _, selfPos, impl, _, blanketPath, blanketTypeParam) and + // Only apply blanket implementations when no other implementations are possible; + // this is to account for codebases that use the (unstable) specialization feature + // (https://rust-lang.github.io/rfcs/1210-impl-specialization.html), as well as + // cases where our blanket implementation filtering is not precise enough. + if impl.isBlanketImplementation() then afcc.hasNoCompatibleNonBlanketTarget() else any() + ) } + } - override Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { - result = NonAssocCallExpr.super.getTypeArgument(apos, path) - } + private module ArgSatisfiesBlanketLikeConstraint = + BlanketImplementation::SatisfiesBlanketConstraint; - override AstNode getNodeAt(AccessPosition apos) { - result = NonAssocCallExpr.super.getNodeAt(apos) + /** + * A configuration for matching the type of an argument against the type of + * a function at a function-call adjusted position relevant for dispatch + * (such as a `self` parameter). + */ + private module SelfArgIsInstantiationOfInput implements + IsInstantiationOfInputSig + { + pragma[nomagic] + additional predicate potentialInstantiationOf0( + AssocFunctionCallCand afcc, ImplOrTraitItemNode i, AssocFunctionType selfType + ) { + exists( + AssocFunctionCall afc, FunctionPosition selfPos, Function f, TypePath strippedTypePath, + Type strippedType + | + afcc.hasSignature(afc, selfPos, strippedTypePath, strippedType, _, _) + | + nonBlanketLikeCandidate(afc, f, selfPos, i, selfType, strippedTypePath, strippedType) + or + blanketLikeCandidate(afc, f, selfPos, i, selfType, _, _) and + ArgSatisfiesBlanketLikeConstraint::satisfiesBlanketConstraint(afcc, i) + ) } - override Type getInferredType(FunctionPosition pos, TypePath path) { - result = NonAssocCallExpr.super.getInferredType(pos, path) + pragma[nomagic] + predicate potentialInstantiationOf( + AssocFunctionCallCand afcc, TypeAbstraction abs, AssocFunctionType constraint + ) { + potentialInstantiationOf0(afcc, abs, constraint) and + if abs.(Impl).hasTraitTy() + then + // inherent functions take precedence over trait functions, so only allow + // trait functions when there are no matching inherent functions + afcc.hasNoInherentTarget() + else any() } - override Declaration getTarget() { result = this.resolveCallTargetViaPathResolution() } + predicate relevantConstraint(AssocFunctionType constraint) { + assocFunctionInfo(_, _, _, _, _, constraint, _, _, _, _, _) + } } - abstract private class StructAccess extends Access instanceof PathAstNode { - pragma[nomagic] - override Type getInferredType(AccessPosition apos, TypePath path) { - result = inferType(this.getNodeAt(apos), path) - } + private module SelfArgIsInstantiationOf { + import ArgIsInstantiationOf pragma[nomagic] - override Declaration getTarget() { result = resolvePath(super.getPath()) } + predicate argIsNotInstantiationOf( + AssocFunctionCall afc, ImplOrTraitItemNode i, FunctionPosition selfPos, DerefChain derefChain, + BorrowKind borrow, AssocFunctionType selfType + ) { + exists(TypePath path | + argIsNotInstantiationOf(MkAssocFunctionCallCand(afc, selfPos, derefChain, borrow), i, + selfType, path) and + not path.isEmpty() + ) + } pragma[nomagic] - override Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { - // Handle constructions that use `Self {...}` syntax - exists(TypeMention tm, TypePath path0 | - tm = super.getPath() and - result = tm.getTypeAt(path0) and - path0.isCons(TTypeParamTypeParameter(apos.asTypeParam()), path) - ) + predicate argIsInstantiationOf( + AssocFunctionCall afc, ImplOrTraitItemNode i, FunctionPosition selfPos, DerefChain derefChain, + BorrowKind borrow, AssocFunctionType selfType + ) { + argIsInstantiationOf(MkAssocFunctionCallCand(afc, selfPos, derefChain, borrow), i, selfType) } } - private class StructExprAccess extends StructAccess, StructExpr { - override Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { - result = super.getTypeArgument(apos, path) - or - exists(TypePath suffix | - suffix.isCons(TTypeParamTypeParameter(apos.asTypeParam()), path) and - result = CertainTypeInference::inferCertainType(this, suffix) + /** + * A configuration for anti-matching the type of an argument against the type of + * a function at a function-call adjusted position relevant for dispatch + * (such as a `self` parameter) in a blanket (like) implementation. + */ + private module SelfArgIsNotInstantiationOfBlanketLikeInput implements + IsInstantiationOfInputSig + { + pragma[nomagic] + predicate potentialInstantiationOf( + AssocFunctionCallCand afcc, TypeAbstraction abs, AssocFunctionType constraint + ) { + exists(AssocFunctionCall afc, FunctionPosition selfPos | + afcc = MkAssocFunctionCallCand(afc, selfPos, _, _) and + blanketLikeCandidate(afc, _, selfPos, abs, constraint, _, _) and + if abs.(Impl).hasTraitTy() + then + // inherent functions take precedence over trait functions, so only allow + // trait functions when there are no matching inherent functions + afcc.hasNoInherentTarget() + else any() ) } - - override AstNode getNodeAt(AccessPosition apos) { - result = - this.getFieldExpr(pragma[only_bind_into](this.getNthStructField(apos.asPosition()) - .getName() - .getText())).getExpr() - or - result = this and apos.isReturn() - } - } - - /** A potential nullary struct/variant construction such as `None`. */ - private class PathExprAccess extends StructAccess, PathExpr { - PathExprAccess() { not exists(CallExpr ce | this = ce.getFunction()) } - - override AstNode getNodeAt(AccessPosition apos) { result = this and apos.isReturn() } } -} - -private module ConstructionMatching = Matching; - -pragma[nomagic] -private Type inferConstructionTypePreCheck( - AstNode n, ContextTyping::FunctionPositionKind kind, TypePath path -) { - exists(ConstructionMatchingInput::Access a, FunctionPosition pos | - n = a.getNodeAt(pos) and - if pos.isPosition() - then kind = ContextTyping::PositionalKind() - else kind = ContextTyping::ReturnKind() - | - result = ConstructionMatching::inferAccessType(a, pos, path) - or - a.hasUnknownTypeAt(pos, path) and - result = TUnknownType() - ) -} - -private predicate inferConstructionType = - ContextTyping::CheckContextTyping::check/2; - -/** - * A matching configuration for resolving types of operations like `a + b`. - */ -private module OperationMatchingInput implements MatchingInputSig { - private import codeql.rust.elements.internal.OperationImpl::Impl as OperationImpl - import FunctionPositionMatchingInput - class Declaration extends FunctionCallMatchingInput::Declaration { - private Method getSelfOrImpl() { - result = f - or - f.implements(result) - } + private module SelfArgIsNotInstantiationOfBlanketLike = + ArgIsInstantiationOf; + /** + * A configuration for anti-matching the type of an argument against the type of + * a function at a function-call adjusted position relevant for dispatch (such as + * a `self` parameter) in an inherent function. + */ + private module SelfArgIsNotInstantiationOfInherentInput implements + IsInstantiationOfInputSig + { pragma[nomagic] - private predicate borrowsAt(FunctionPosition pos) { - exists(TraitItemNode t, string path, string method | - this.getSelfOrImpl() = t.getAssocItem(method) and - path = t.getCanonicalPath(_) and - exists(int borrows | OperationImpl::isOverloaded(_, _, path, method, borrows) | - pos.asPosition() = 0 and borrows >= 1 - or - pos.asPosition() = 1 and - borrows >= 2 - ) + predicate potentialInstantiationOf( + AssocFunctionCallCand afcc, TypeAbstraction abs, AssocFunctionType constraint + ) { + SelfArgIsInstantiationOfInput::potentialInstantiationOf0(afcc, abs, constraint) and + abs.(Impl).isInherent() and + exists(AssocFunctionCall afc, FunctionPosition selfPos | + afcc = MkAssocFunctionCallCand(afc, selfPos, _, _) + | + selfPos.isTypeQualifier() or + afc.hasReceiverAtPos(selfPos) ) } + } - pragma[nomagic] - private predicate derefsReturn() { this.getSelfOrImpl() = any(DerefTrait t).getDerefFunction() } + private module SelfArgIsNotInstantiationOfInherent = + ArgIsInstantiationOf; - Type getDeclaredType(FunctionPosition pos, TypePath path) { - exists(TypePath path0 | - result = super.getDeclaredType(pos, path0) and - if - this.borrowsAt(pos) - or - pos.isReturn() and this.derefsReturn() - then path0.isCons(getRefTypeParameter(_), path) - else path0 = path - ) + /** + * A configuration for matching the types of positional arguments against the + * types of parameters, when needed to disambiguate the call. + */ + private module OverloadedCallArgsAreInstantiationsOfInput implements + ArgsAreInstantiationsOfInputSig + { + predicate toCheck(ImplOrTraitItemNode i, Function f, TypeParameter traitTp, FunctionPosition pos) { + FunctionOverloading::functionResolutionDependsOnArgument(i, f, traitTp, pos) } - } - class Access extends AssocFunctionResolution::OperationAssocFunctionCall { - Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { none() } + class Call extends AssocFunctionCallCand { + Type getArgType(FunctionPosition pos, TypePath path) { + result = this.getAssocFunctionCall().getTypeAt(pos, path) + } - pragma[nomagic] - Type getInferredType(FunctionPosition pos, TypePath path) { - result = inferType(this.getNodeAt(pos), path) + predicate hasTargetCand(ImplOrTraitItemNode i, Function f) { + f = this.resolveCallTargetCand(i) + } } + } - Declaration getTarget() { - exists(ImplOrTraitItemNode i | - result.isAssocFunction(i, this.resolveCallTarget(i, _, _, _)) // mutual recursion - ) + private module OverloadedCallArgsAreInstantiationsOf { + import ArgsAreInstantiationsOf + + pragma[nomagic] + predicate argsAreNotInstantiationsOf(AssocFunctionCall afc, ImplOrTraitItemNode i) { + argsAreNotInstantiationsOf(MkAssocFunctionCallCand(afc, _, _, _), i, _) } } } -private module OperationMatching = Matching; - pragma[nomagic] -private Type inferOperationTypePreCheck( - AstNode n, ContextTyping::FunctionPositionKind kind, TypePath path -) { - exists(OperationMatchingInput::Access a, FunctionPosition pos | - n = a.getNodeAt(pos) and - result = OperationMatching::inferAccessType(a, pos, path) and - if pos.asPosition() = 0 - then kind = ContextTyping::SelfKind() - else - if pos.isPosition() - then kind = ContextTyping::PositionalKind() - else kind = ContextTyping::ReturnKind() +private Type inferUnknownType(AstNode n, TypePath path) { + result = TUnknownType() and + path.isEmpty() and + ( + n.(AssocFunctionResolution::AssocFunctionCall).resolutionDependsOnReturnType() + or + isPanicMacroCall(n) ) } -private predicate inferOperationType = - ContextTyping::CheckContextTyping::check/2; - pragma[nomagic] private Type getFieldExprLookupType(FieldExpr fe, string name, DerefChain derefChain) { exists(TypePath path | @@ -3281,6 +2903,20 @@ private Type getFieldExprLookupType(FieldExpr fe, string name, DerefChain derefC ) } +/** + * Gets the struct field that the field expression `fe` resolves to, if any. + */ +cached +StructField resolveStructFieldExpr(FieldExpr fe, DerefChain derefChain) { + M3::CachedStage::ref() and + exists(string name, DataType ty | + ty = getFieldExprLookupType(fe, pragma[only_bind_into](name), derefChain) + | + result = ty.(StructType).getTypeItem().getStructField(pragma[only_bind_into](name)) or + result = ty.(UnionType).getTypeItem().getStructField(pragma[only_bind_into](name)) + ) +} + pragma[nomagic] private Type getTupleFieldExprLookupType(FieldExpr fe, int pos, DerefChain derefChain) { exists(string name | @@ -3290,154 +2926,17 @@ private Type getTupleFieldExprLookupType(FieldExpr fe, int pos, DerefChain deref } /** - * A matching configuration for resolving types of field expressions like `x.field`. - */ -private module FieldExprMatchingInput implements MatchingInputSig { - private newtype TDeclarationPosition = - TSelfDeclarationPosition() or - TFieldPos() - - class DeclarationPosition extends TDeclarationPosition { - predicate isSelf() { this = TSelfDeclarationPosition() } - - predicate isField() { this = TFieldPos() } - - string toString() { - this.isSelf() and - result = "self" - or - this.isField() and - result = "(field)" - } - } - - private newtype TDeclaration = - TStructFieldDecl(StructField sf) or - TTupleFieldDecl(TupleField tf) - - abstract class Declaration extends TDeclaration { - TypeParameter getTypeParameter(TypeParameterPosition ppos) { none() } - - abstract Type getDeclaredType(DeclarationPosition dpos, TypePath path); - - abstract string toString(); - - abstract Location getLocation(); - } - - abstract private class StructOrTupleFieldDecl extends Declaration { - abstract AstNode getAstNode(); - - abstract TypeRepr getTypeRepr(); - - override Type getDeclaredType(DeclarationPosition dpos, TypePath path) { - dpos.isSelf() and - // no case for variants as those can only be destructured using pattern matching - exists(Struct s | this.getAstNode() = [s.getStructField(_).(AstNode), s.getTupleField(_)] | - result = TDataType(s) and - path.isEmpty() - or - result = TTypeParamTypeParameter(s.getGenericParamList().getATypeParam()) and - path = TypePath::singleton(result) - ) - or - dpos.isField() and - result = this.getTypeRepr().(TypeMention).getTypeAt(path) - } - - override string toString() { result = this.getAstNode().toString() } - - override Location getLocation() { result = this.getAstNode().getLocation() } - } - - private class StructFieldDecl extends StructOrTupleFieldDecl, TStructFieldDecl { - private StructField sf; - - StructFieldDecl() { this = TStructFieldDecl(sf) } - - override AstNode getAstNode() { result = sf } - - override TypeRepr getTypeRepr() { result = sf.getTypeRepr() } - } - - private class TupleFieldDecl extends StructOrTupleFieldDecl, TTupleFieldDecl { - private TupleField tf; - - TupleFieldDecl() { this = TTupleFieldDecl(tf) } - - override AstNode getAstNode() { result = tf } - - override TypeRepr getTypeRepr() { result = tf.getTypeRepr() } - } - - class AccessPosition = DeclarationPosition; - - class Access extends FieldExpr { - Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { none() } - - AstNode getNodeAt(AccessPosition apos) { - result = this.getContainer() and - apos.isSelf() - or - result = this and - apos.isField() - } - - Type getInferredType(AccessPosition apos, TypePath path) { - exists(TypePath path0 | result = inferType(this.getNodeAt(apos), path0) | - if apos.isSelf() - then - // adjust for implicit deref - path0.isCons(getRefTypeParameter(_), path) - or - not path0.isCons(getRefTypeParameter(_), _) and - not (result instanceof RefType and path0.isEmpty()) and - path = path0 - else path = path0 - ) - } - - Declaration getTarget() { - // mutual recursion; resolving fields requires resolving types and vice versa - result = - [ - TStructFieldDecl(resolveStructFieldExpr(this, _)).(TDeclaration), - TTupleFieldDecl(resolveTupleFieldExpr(this, _)) - ] - } - } - - predicate accessDeclarationPositionMatch(AccessPosition apos, DeclarationPosition dpos) { - apos = dpos - } -} - -private module FieldExprMatching = Matching; - -/** - * Gets the type of `n` at `path`, where `n` is either a field expression or - * the receiver of field expression call. + * Gets the tuple field that the field expression `fe` resolves to, if any. */ -pragma[nomagic] -private Type inferFieldExprType(AstNode n, TypePath path) { - exists( - FieldExprMatchingInput::Access a, FieldExprMatchingInput::AccessPosition apos, TypePath path0 - | - n = a.getNodeAt(apos) and - result = FieldExprMatching::inferAccessType(a, apos, path0) - | - if apos.isSelf() - then - exists(Type receiverType | receiverType = inferType(n) | - if receiverType instanceof RefType - then - // adjust for implicit deref - not path0.isCons(getRefTypeParameter(_), _) and - not (path0.isEmpty() and result instanceof RefType) and - path = TypePath::cons(getRefTypeParameter(_), path0) - else path = path0 - ) - else path = path0 +cached +TupleField resolveTupleFieldExpr(FieldExpr fe, DerefChain derefChain) { + M3::CachedStage::ref() and + exists(int i | + result = + getTupleFieldExprLookupType(fe, pragma[only_bind_into](i), derefChain) + .(StructType) + .getTypeItem() + .getTupleField(pragma[only_bind_into](i)) ) } @@ -3543,7 +3042,10 @@ private DynTraitTypeParameter getDynFutureOutputTypeParameter() { pragma[nomagic] predicate isUnitBlockExpr(BlockExpr be) { not be.getStmtList().hasTailExpr() and - not be = any(Callable c).getBody() and + not exists(Callable c | + be = c.getBody() and + c = any(ReturnExpr re).getEnclosingCallable() + ) and not be.hasLabel() } @@ -3610,27 +3112,6 @@ private Type inferArrayExprType(ArrayExpr ae) { exists(ae) and result instanceof pragma[nomagic] private Type inferRangeExprType(RangeExpr re) { result = TDataType(getRangeType(re)) } -pragma[nomagic] -private Type getInferredDerefType(DerefExpr de, TypePath path) { result = inferType(de, path) } - -pragma[nomagic] -private PtrType getInferredDerefExprPtrType(DerefExpr de) { result = inferType(de.getExpr()) } - -/** - * Gets the inferred type of `n` at `path` when `n` occurs in a dereference - * expression `*n` and when `n` is known to have a raw pointer type. - * - * The other direction is handled in `typeEqualityAsymmetric`. - */ -private Type inferDereferencedExprPtrType(AstNode n, TypePath path) { - exists(DerefExpr de, PtrType type, TypePath suffix | - de.getExpr() = n and - type = getInferredDerefExprPtrType(de) and - result = getInferredDerefType(de, suffix) and - path = TypePath::cons(type.getPositionalTypeParameter(0), suffix) - ) -} - /** * A matching configuration for resolving types of deconstruction patterns like * `let Foo { bar } = ...` or `let Some(x) = ...`. @@ -3638,7 +3119,14 @@ private Type inferDereferencedExprPtrType(AstNode n, TypePath path) { private module DeconstructionPatMatchingInput implements MatchingInputSig { import FunctionPositionMatchingInput - class Declaration = ConstructionMatchingInput::Declaration; + class Declaration extends Input3::Constructor { + Type getDeclaredType(FunctionPosition pos, TypePath path) { + result = this.getParameter(pos.asPosition()).getType().getTypeAt(path) + or + pos.isReturn() and + result = Input3::getParameterizableType(this, path) + } + } class Access extends Pat instanceof PathAstNode { Access() { this instanceof TupleStructPat or this instanceof StructPat } @@ -3734,30 +3222,6 @@ private Type inferForLoopExprType(AstNode n, TypePath path) { ) } -pragma[nomagic] -private Type inferClosureExprType(AstNode n, TypePath path) { - exists(ClosureExpr ce | - n = ce and - ( - path = TypePath::singleton(TDynTraitTypeParameter(_, any(FnTrait t).getTypeParam())) and - result.(TupleType).getArity() = ce.getNumberOfParams() - or - exists(TypePath path0 | - result = ce.getRetType().getTypeRepr().(TypeMention).getTypeAt(path0) and - path = closureReturnPath().append(path0) - ) - ) - or - exists(Param p | - p = ce.getAParam() and - not p.hasTypeRepr() and - n = p.getPat() and - result = TUnknownType() and - path.isEmpty() - ) - ) -} - pragma[nomagic] private TupleType inferArgList(ArgList args, TypePath path) { exists(CallExprImpl::DynamicCallExpr dce | @@ -3767,175 +3231,50 @@ private TupleType inferArgList(ArgList args, TypePath path) { ) } -pragma[nomagic] -private Type inferCastExprType(CastExpr ce, TypePath path) { - result = ce.getTypeRepr().(TypeMention).getTypeAt(path) -} - +/** Holds if `n` is implicitly dereferenced and/or borrowed. */ cached -private module Cached { - /** Holds if `n` is implicitly dereferenced and/or borrowed. */ - cached - predicate implicitDerefChainBorrow(Expr e, DerefChain derefChain, boolean borrow) { - exists(BorrowKind bk | - any(AssocFunctionResolution::AssocFunctionCall afc) - .argumentHasImplicitDerefChainBorrow(e, derefChain, bk) and - if bk.isNoBorrow() then borrow = false else borrow = true - ) - or - e = - any(FieldExpr fe | - exists(resolveStructFieldExpr(fe, derefChain)) - or - exists(resolveTupleFieldExpr(fe, derefChain)) - ).getContainer() and - not derefChain.isEmpty() and - borrow = false - } - - /** - * Gets an item (function or tuple struct/variant) that `call` resolves to, if - * any. - * - * The parameter `dispatch` is `true` if and only if the resolved target is a - * trait item because a precise target could not be determined from the - * types (for instance in the presence of generics or `dyn` types) - */ - cached - Addressable resolveCallTarget(InvocationExpr call, boolean dispatch) { - dispatch = false and - result = call.(NonAssocCallExpr).resolveCallTargetViaPathResolution() - or - exists(ImplOrTraitItemNode i | - i instanceof TraitItemNode and dispatch = true - or - i instanceof ImplItemNode and dispatch = false - | - result = call.(AssocFunctionResolution::AssocFunctionCall).resolveCallTarget(i, _, _, _) and - not call instanceof CallExprImpl::DynamicCallExpr and - not i instanceof Builtins::BuiltinImpl - ) - } - - /** - * Gets the struct field that the field expression `fe` resolves to, if any. - */ - cached - StructField resolveStructFieldExpr(FieldExpr fe, DerefChain derefChain) { - exists(string name, DataType ty | - ty = getFieldExprLookupType(fe, pragma[only_bind_into](name), derefChain) - | - result = ty.(StructType).getTypeItem().getStructField(pragma[only_bind_into](name)) or - result = ty.(UnionType).getTypeItem().getStructField(pragma[only_bind_into](name)) - ) - } - - /** - * Gets the tuple field that the field expression `fe` resolves to, if any. - */ - cached - TupleField resolveTupleFieldExpr(FieldExpr fe, DerefChain derefChain) { - exists(int i | - result = - getTupleFieldExprLookupType(fe, pragma[only_bind_into](i), derefChain) - .(StructType) - .getTypeItem() - .getTupleField(pragma[only_bind_into](i)) - ) - } - - /** - * Gets a type at `path` that `n` infers to, if any. - * - * The type inference implementation works by computing all possible types, so - * the result is not necessarily unique. For example, in - * - * ```rust - * trait MyTrait { - * fn foo(&self) -> &Self; - * - * fn bar(&self) -> &Self { - * self.foo() - * } - * } - * - * struct MyStruct; - * - * impl MyTrait for MyStruct { - * fn foo(&self) -> &MyStruct { - * self - * } - * } - * - * fn baz() { - * let x = MyStruct; - * x.bar(); - * } - * ``` - * - * the type inference engine will roughly make the following deductions: - * - * 1. `MyStruct` has type `MyStruct`. - * 2. `x` has type `MyStruct` (via 1.). - * 3. The return type of `bar` is `&Self`. - * 3. `x.bar()` has type `&MyStruct` (via 2 and 3, by matching the implicit `Self` - * type parameter with `MyStruct`.). - * 4. The return type of `bar` is `&MyTrait`. - * 5. `x.bar()` has type `&MyTrait` (via 2 and 4). - */ - cached - Type inferType(AstNode n, TypePath path) { - Stages::TypeInferenceStage::ref() and - result = CertainTypeInference::inferCertainType(n, path) - or - // Don't propagate type information into a node which conflicts with certain - // type information. - forall(TypePath prefix | - CertainTypeInference::hasInferredCertainType(n, prefix) and - prefix.isPrefixOf(path) - | - not CertainTypeInference::certainTypeConflict(n, prefix, path, result) - ) and - ( - result = inferAssignmentOperationType(n, path) - or - result = inferTypeEquality(n, path) - or - result = inferFunctionCallType(n, path) - or - result = inferConstructionType(n, path) - or - result = inferOperationType(n, path) - or - result = inferFieldExprType(n, path) - or - result = inferTryExprType(n, path) - or - result = inferLiteralType(n, path, false) - or - result = inferAwaitExprType(n, path) - or - result = inferDereferencedExprPtrType(n, path) - or - result = inferForLoopExprType(n, path) - or - result = inferClosureExprType(n, path) - or - result = inferArgList(n, path) - or - result = inferDeconstructionPatType(n, path) +predicate implicitDerefChainBorrow(Expr e, DerefChain derefChain, boolean borrow) { + M3::CachedStage::ref() and + exists(BorrowKind bk | + any(AssocFunctionResolution::AssocFunctionCall afc) + .argumentHasImplicitDerefChainBorrow(e, derefChain, bk) and + if bk.isNoBorrow() then borrow = false else borrow = true + ) + or + e = + any(FieldExpr fe | + exists(resolveStructFieldExpr(fe, derefChain)) or - result = inferUnknownTypeFromAnnotation(n, path) - ) - } + exists(resolveTupleFieldExpr(fe, derefChain)) + ).getContainer() and + not derefChain.isEmpty() and + borrow = false } -import Cached - /** - * Gets a type that `n` infers to, if any. + * Gets an item (function or tuple struct/variant) that `call` resolves to, if + * any. + * + * The parameter `dispatch` is `true` if and only if the resolved target is a + * trait item because a precise target could not be determined from the + * types (for instance in the presence of generics or `dyn` types) */ -Type inferType(AstNode n) { result = inferType(n, TypePath::nil()) } +cached +Addressable resolveCallTarget(InvocationExpr call, boolean dispatch) { + M3::CachedStage::ref() and + dispatch = false and + result = call.(NonAssocCallExpr).resolveCallTargetViaPathResolution() + or + exists(ImplOrTraitItemNode i | + i instanceof TraitItemNode and dispatch = true + or + i instanceof ImplItemNode and dispatch = false + | + result = call.(AssocFunctionResolution::AssocFunctionCall).resolveCallTarget(i, _, _, _) and + not call instanceof CallExprImpl::DynamicCallExpr and + not i instanceof Builtins::BuiltinImpl + ) +} /** Provides predicates for debugging the type inference implementation. */ private module Debug { @@ -3969,81 +3308,31 @@ private module Debug { t = self.getTypeAt(path) } - predicate debugInferFunctionCallType(AstNode n, TypePath path, Type t) { - n = getRelevantLocatable() and - t = inferFunctionCallType(n, path) - } - - predicate debugInferConstructionType(AstNode n, TypePath path, Type t) { - n = getRelevantLocatable() and - t = inferConstructionType(n, path) - } - predicate debugTypeMention(TypeMention tm, TypePath path, Type type) { tm = getRelevantLocatable() and tm.getTypeAt(path) = type } - Type debugInferAnnotatedType(AstNode n, TypePath path) { - n = getRelevantLocatable() and - result = inferAnnotatedType(n, path) - } - - pragma[nomagic] - private int countTypesAtPath(AstNode n, TypePath path, Type t) { - t = inferType(n, path) and - result = strictcount(Type t0 | t0 = inferType(n, path)) - } - - pragma[nomagic] - private predicate atLimit(AstNode n) { - exists(TypePath path0 | exists(inferType(n, path0)) and path0.length() >= getTypePathLimit()) - } - - Type debugInferTypeForNodeAtLimit(AstNode n, TypePath path) { - result = inferType(n, path) and - atLimit(n) - } - - predicate countTypesForNodeAtLimit(AstNode n, int c) { - n = getRelevantLocatable() and - c = strictcount(Type t, TypePath path | t = debugInferTypeForNodeAtLimit(n, path)) - } + predicate atLimit = M3::Debug::atLimit/1; - predicate maxTypes(AstNode n, TypePath path, Type t, int c) { - c = countTypesAtPath(n, path, t) and - c = max(countTypesAtPath(_, _, _)) - } + predicate inferTypeForNodeAtLimit = M3::Debug::inferTypeForNodeAtLimit/2; - pragma[nomagic] - private predicate typePathLength(AstNode n, TypePath path, Type t, int len) { - t = inferType(n, path) and - len = path.length() - } + predicate countTypesForNodeAtLimit = M3::Debug::countTypesForNodeAtLimit/2; - predicate maxTypePath(AstNode n, TypePath path, Type t, int len) { - typePathLength(n, path, t, len) and - len = max(int i | typePathLength(_, _, _, i)) - } + predicate maxTypes = M3::Debug::maxTypes/4; - pragma[nomagic] - private int countTypePaths(AstNode n, TypePath path, Type t) { - t = inferType(n, path) and - result = strictcount(TypePath path0, Type t0 | t0 = inferType(n, path0)) - } + predicate maxTypePath = M3::Debug::maxTypePath/4; - predicate maxTypePaths(AstNode n, TypePath path, Type t, int c) { - c = countTypePaths(n, path, t) and - c = max(countTypePaths(_, _, _)) - } + predicate maxTypePaths = M3::Debug::maxTypePaths/4; - Type debugInferCertainType(AstNode n, TypePath path) { + Type debugInferTypeCertain(AstNode n, TypePath path) { n = getRelevantLocatable() and - result = CertainTypeInference::inferCertainType(n, path) + result = inferTypeCertain(n, path) } Type debugInferCertainNonUniqueType(AstNode n, TypePath path) { n = getRelevantLocatable() and - Consistency::nonUniqueCertainType(n, path, result) + Consistency::nonUniqueCertainType(n, path) and + result = inferTypeCertain(n, path) } } diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/TypeInferenceConsistency.qll b/rust/ql/lib/codeql/rust/internal/typeinference/TypeInferenceConsistency.qll index 96e0bea2f189..d21caec86513 100644 --- a/rust/ql/lib/codeql/rust/internal/typeinference/TypeInferenceConsistency.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/TypeInferenceConsistency.qll @@ -10,11 +10,7 @@ private import TypeInference::Consistency as Consistency import TypeInference::Consistency query predicate illFormedTypeMention(TypeMention tm) { - // NOTE: We do not use `illFormedTypeMention` from the shared library as it is - // instantiated with `PreTypeMention` and we are interested in inconsistencies - // for `TypeMention`. - not exists(tm.getTypeAt(TypePath::nil())) and - exists(tm.getLocation()) and + Consistency::illFormedTypeMention(tm) and // avoid overlap with `PathTypeMention` not tm instanceof PathTypeReprMention and // known limitation for type mentions that would mention an escaping type parameter @@ -31,7 +27,7 @@ query predicate illFormedTypeMention(TypeMention tm) { } query predicate nonUniqueCertainType(AstNode n, TypePath path) { - Consistency::nonUniqueCertainType(n, path, _) and + Consistency::nonUniqueCertainType(n, path) and n.fromSource() // Only include inconsistencies in the source. } diff --git a/rust/ql/lib/codeql/rust/internal/typeinference/TypeMention.qll b/rust/ql/lib/codeql/rust/internal/typeinference/TypeMention.qll index c4650f97c34b..b5ee6d5351e4 100644 --- a/rust/ql/lib/codeql/rust/internal/typeinference/TypeMention.qll +++ b/rust/ql/lib/codeql/rust/internal/typeinference/TypeMention.qll @@ -601,10 +601,12 @@ private module MkTypeMention::new(); // $ target=new + let mut key_to_key = HashMap::<_, &Key>::new(); // $ target=new let mut key = &Key {}; // Initialize key2 to a reference if let Some(ref_key) = key_to_key.get(key) { // $ target=get // Below `ref_key` is implicitly dereferenced from `&&Key` to `&Key` diff --git a/rust/ql/test/library-tests/type-inference/main.rs b/rust/ql/test/library-tests/type-inference/main.rs index 392380df0f77..e365ee89bd14 100644 --- a/rust/ql/test/library-tests/type-inference/main.rs +++ b/rust/ql/test/library-tests/type-inference/main.rs @@ -1085,7 +1085,7 @@ mod option_methods { struct S; pub fn f() { - let x1 = MyOption::::new(); // $ certainType=x1@MyOption:S target=new + let x1 = MyOption::::new(); // $ type=x1@MyOption:S target=new println!("{:?}", x1); let mut x2 = MyOption::new(); // $ target=new @@ -1970,7 +1970,7 @@ mod impl_trait { impl MyTrait for S3 { fn get_a(&self) -> T { let S3(t) = self; - t.clone() + t.clone() // $ MISSING: target=clone type=t:T } } @@ -2416,10 +2416,10 @@ mod explicit_type_args { pub fn f() { let x1: Option> = S1::assoc_fun(); // $ certainType=x1@Option.S1:S2 target=assoc_fun - let x2 = S1::::assoc_fun(); // $ certainType=x2@Option.S1:S2 target=assoc_fun - let x3 = S3::assoc_fun(); // $ certainType=x3@Option.S1:S2 target=assoc_fun - let x4 = S1::::method(S1::default()); // $ target=method target=default certainType=x4@S1:S2 - let x5 = S3::method(S1::default()); // $ target=method target=default certainType=x5@S1:S2 + let x2 = S1::::assoc_fun(); // $ type=x2@Option.S1:S2 target=assoc_fun + let x3 = S3::assoc_fun(); // $ type=x3@Option.S1:S2 target=assoc_fun + let x4 = S1::::method(S1::default()); // $ target=method target=default type=x4@S1:S2 + let x5 = S3::method(S1::default()); // $ target=method target=default type=x5@S1:S2 let x6 = S4::(Default::default()); // $ type=x6@S4:S2 target=default let x7 = S4(S2); // $ type=x7@S4:S2 let x8 = S4(0); // $ type=x8@S4:i32 @@ -2434,8 +2434,8 @@ mod explicit_type_args { { field: S2::default(), // $ target=default }; - let x14 = foo::(Default::default()); // $ certainType=x14:i32 target=default target=foo - let x15 = S1::::default(); // $ certainType=x15@S1:S2 target=default + let x14 = foo::(Default::default()); // $ type=x14:i32 target=default target=foo + let x15 = S1::::default(); // $ type=x15@S1:S2 target=default } } @@ -2451,8 +2451,8 @@ mod tuples { } pub fn f() { - let a = S1::get_pair(); // $ target=get_pair certainType=a:(T_2) - let mut b = S1::get_pair(); // $ target=get_pair certainType=b:(T_2) + let a = S1::get_pair(); // $ target=get_pair type=a:(T_2) + let mut b = S1::get_pair(); // $ target=get_pair type=b:(T_2) let (c, d) = S1::get_pair(); // $ target=get_pair type=c:S1 type=d:S1 let (mut e, f) = S1::get_pair(); // $ target=get_pair type=e:S1 type=f:S1 let (mut g, mut h) = S1::get_pair(); // $ target=get_pair type=g:S1 type=h:S1 @@ -2550,11 +2550,11 @@ pub mod path_buf { } pub fn f() { - let path1 = Path::new(); // $ target=new certainType=path1:Path + let path1 = Path::new(); // $ target=new type=path1:Path let path2 = path1.canonicalize(); // $ target=canonicalize let path3 = path2.unwrap(); // $ target=unwrap type=path3:PathBuf - let pathbuf1 = PathBuf::new(); // $ target=new certainType=pathbuf1:PathBuf + let pathbuf1 = PathBuf::new(); // $ target=new type=pathbuf1:PathBuf let pathbuf2 = pathbuf1.canonicalize(); // $ target=canonicalize let pathbuf3 = pathbuf2.unwrap(); // $ target=unwrap type=pathbuf3:PathBuf } @@ -2754,7 +2754,7 @@ mod literal_overlap { pub fn f() -> usize { let mut x = 0; - x = x.f(); // $ target=usizef $ SPURIOUS: target=i32f + x = x.f(); // $ MISSING: target=usizef $ SPURIOUS: target=i32f x } diff --git a/rust/ql/test/library-tests/type-inference/overloading.rs b/rust/ql/test/library-tests/type-inference/overloading.rs index 06353a12c8f2..712fef5ce4d5 100644 --- a/rust/ql/test/library-tests/type-inference/overloading.rs +++ b/rust/ql/test/library-tests/type-inference/overloading.rs @@ -509,7 +509,7 @@ mod trait_bound_impl_overlap { fn test() { let x = S(0); - let y = call_f(x); // $ target=call_f type=y:i32 + let y = call_f(x); // $ target=call_f $ MISSING: type=y:i32 let z: i32 = y; let x = S(0); diff --git a/rust/ql/test/library-tests/type-inference/pattern_matching.rs b/rust/ql/test/library-tests/type-inference/pattern_matching.rs index bc85b0ee96ff..b00dfc95212d 100755 --- a/rust/ql/test/library-tests/type-inference/pattern_matching.rs +++ b/rust/ql/test/library-tests/type-inference/pattern_matching.rs @@ -779,13 +779,13 @@ pub fn patterns_in_function_parameters() { // Call the functions to use them let point = Point { x: 5, y: 10 }; - let extracted = extract_point(point); // $ target=extract_point certainType=extracted@(T_2):i32 certainType=extracted@(T_2):i32 + let extracted = extract_point(point); // $ target=extract_point type=extracted@(T_2):i32 type=extracted@(T_2):i32 let color = Color(200, 100, 50); - let red = extract_color(color); // $ target=extract_color certainType=red:u8 + let red = extract_color(color); // $ target=extract_color type=red:u8 let tuple = (42i32, 3.14f64, true); - let tuple_extracted = extract_tuple(tuple); // $ target=extract_tuple certainType=tuple_extracted@(T_2):i32 certainType=tuple_extracted@(T_2):bool + let tuple_extracted = extract_tuple(tuple); // $ target=extract_tuple type=tuple_extracted@(T_2):i32 type=tuple_extracted@(T_2):bool } #[rustfmt::skip] diff --git a/rust/ql/test/library-tests/type-inference/type-inference.expected b/rust/ql/test/library-tests/type-inference/type-inference.expected index 20f20e21861c..f21641491bca 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.expected +++ b/rust/ql/test/library-tests/type-inference/type-inference.expected @@ -1,7 +1,6 @@ inferCertainType | associated_types.rs:5:15:5:18 | SelfParam | | associated_types.rs:1:1:2:21 | Wrapper | | associated_types.rs:5:15:5:18 | SelfParam | A | associated_types.rs:4:6:4:6 | A | -| associated_types.rs:5:26:7:5 | { ... } | | associated_types.rs:4:6:4:6 | A | | associated_types.rs:6:9:6:12 | self | | associated_types.rs:1:1:2:21 | Wrapper | | associated_types.rs:6:9:6:12 | self | A | associated_types.rs:4:6:4:6 | A | | associated_types.rs:23:12:23:16 | SelfParam | | {EXTERNAL LOCATION} | & | @@ -12,61 +11,47 @@ inferCertainType | associated_types.rs:26:37:26:38 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:29:43:29:46 | item | | {EXTERNAL LOCATION} | & | | associated_types.rs:29:43:29:46 | item | TRef | associated_types.rs:29:11:29:40 | T | -| associated_types.rs:29:58:31:1 | { ... } | | associated_types.rs:29:8:29:8 | O | | associated_types.rs:30:5:30:8 | item | | {EXTERNAL LOCATION} | & | | associated_types.rs:30:5:30:8 | item | TRef | associated_types.rs:29:11:29:40 | T | | associated_types.rs:37:20:37:24 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:37:20:37:24 | SelfParam | TRef | associated_types.rs:33:1:38:1 | Self [trait AnotherGet] | | associated_types.rs:44:12:44:16 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:44:12:44:16 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:44:35:46:5 | { ... } | | associated_types.rs:16:1:17:10 | S3 | | associated_types.rs:53:20:53:24 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:53:20:53:24 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:53:50:55:5 | { ... } | | {EXTERNAL LOCATION} | bool | | associated_types.rs:54:9:54:12 | true | | {EXTERNAL LOCATION} | bool | | associated_types.rs:62:12:62:16 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:62:12:62:16 | SelfParam | TRef | associated_types.rs:1:1:2:21 | Wrapper | | associated_types.rs:62:12:62:16 | SelfParam | TRef.A | associated_types.rs:58:6:58:12 | T | -| associated_types.rs:62:35:64:5 | { ... } | | associated_types.rs:58:6:58:12 | T | | associated_types.rs:63:9:63:12 | self | | {EXTERNAL LOCATION} | & | | associated_types.rs:63:9:63:12 | self | TRef | associated_types.rs:1:1:2:21 | Wrapper | | associated_types.rs:63:9:63:12 | self | TRef.A | associated_types.rs:58:6:58:12 | T | | associated_types.rs:72:12:72:16 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:72:12:72:16 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | | associated_types.rs:72:12:72:16 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:72:35:74:5 | { ... } | | {EXTERNAL LOCATION} | bool | | associated_types.rs:73:9:73:12 | true | | {EXTERNAL LOCATION} | bool | | associated_types.rs:80:12:80:16 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:80:12:80:16 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | | associated_types.rs:80:12:80:16 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | bool | -| associated_types.rs:80:35:82:5 | { ... } | | {EXTERNAL LOCATION} | char | | associated_types.rs:81:9:81:11 | 'a' | | {EXTERNAL LOCATION} | char | | associated_types.rs:92:15:92:18 | SelfParam | | associated_types.rs:88:5:103:5 | Self [trait MyTrait] | | associated_types.rs:94:15:94:18 | SelfParam | | associated_types.rs:88:5:103:5 | Self [trait MyTrait] | -| associated_types.rs:98:9:102:9 | { ... } | | associated_types.rs:89:9:89:28 | AssociatedType[MyTrait] | | associated_types.rs:99:13:99:16 | self | | associated_types.rs:88:5:103:5 | Self [trait MyTrait] | | associated_types.rs:109:15:109:18 | SelfParam | | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:109:45:111:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | | associated_types.rs:118:15:118:18 | SelfParam | | associated_types.rs:13:1:14:10 | S2 | -| associated_types.rs:118:45:120:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:118:45:120:9 | { ... } | A | associated_types.rs:13:1:14:10 | S2 | | associated_types.rs:119:21:119:24 | self | | associated_types.rs:13:1:14:10 | S2 | | associated_types.rs:123:19:137:5 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:126:18:126:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | associated_types.rs:126:18:126:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:126:18:126:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | associated_types.rs:126:18:126:32 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:131:18:131:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | associated_types.rs:131:18:131:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:131:18:131:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | associated_types.rs:131:18:131:26 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:134:18:134:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | associated_types.rs:134:18:134:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:134:18:134:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | associated_types.rs:134:18:134:32 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:136:18:136:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | associated_types.rs:136:18:136:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:136:18:136:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | associated_types.rs:136:18:136:32 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:144:9:144:9 | a | | associated_types.rs:16:1:17:10 | S3 | | associated_types.rs:145:9:145:9 | b | | {EXTERNAL LOCATION} | i32 | @@ -84,23 +69,18 @@ inferCertainType | associated_types.rs:173:17:173:21 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:173:17:173:21 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | | associated_types.rs:173:17:173:21 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:173:52:176:9 | { ... } | | {EXTERNAL LOCATION} | bool | | associated_types.rs:181:17:181:21 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:181:17:181:21 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | | associated_types.rs:181:17:181:21 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | bool | -| associated_types.rs:181:52:184:9 | { ... } | | {EXTERNAL LOCATION} | char | | associated_types.rs:187:19:192:5 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:188:9:188:34 | using_as(...) | | {EXTERNAL LOCATION} | () | | associated_types.rs:188:25:188:28 | true | | {EXTERNAL LOCATION} | bool | | associated_types.rs:188:31:188:33 | 'a' | | {EXTERNAL LOCATION} | char | | associated_types.rs:190:22:190:26 | 42i32 | | {EXTERNAL LOCATION} | i32 | | associated_types.rs:191:22:191:25 | true | | {EXTERNAL LOCATION} | bool | | associated_types.rs:206:20:206:20 | t | | associated_types.rs:204:17:204:17 | T | | associated_types.rs:211:20:211:20 | t | | {EXTERNAL LOCATION} | bool | -| associated_types.rs:211:45:217:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | associated_types.rs:212:16:212:16 | t | | {EXTERNAL LOCATION} | bool | | associated_types.rs:222:20:222:20 | t | | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:222:44:224:9 | { ... } | | {EXTERNAL LOCATION} | bool | | associated_types.rs:223:13:223:13 | t | | {EXTERNAL LOCATION} | i32 | | associated_types.rs:229:23:229:27 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:229:23:229:27 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | @@ -109,22 +89,16 @@ inferCertainType | associated_types.rs:237:19:241:5 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:239:28:239:31 | true | | {EXTERNAL LOCATION} | bool | | associated_types.rs:248:30:248:34 | thing | | associated_types.rs:248:19:248:27 | T | -| associated_types.rs:248:65:250:5 | { ... } | | associated_types.rs:248:19:248:27 | T::Output[GetSet] | | associated_types.rs:249:9:249:13 | thing | | associated_types.rs:248:19:248:27 | T | | associated_types.rs:252:33:252:37 | thing | | associated_types.rs:252:22:252:30 | T | -| associated_types.rs:252:56:254:5 | { ... } | | associated_types.rs:252:22:252:30 | T::Output[GetSet] | | associated_types.rs:253:9:253:13 | thing | | associated_types.rs:252:22:252:30 | T | | associated_types.rs:256:48:256:52 | thing | | associated_types.rs:256:33:256:45 | T | -| associated_types.rs:256:91:261:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| associated_types.rs:256:91:261:5 | { ... } | T0 | associated_types.rs:256:33:256:45 | T::Output[GetSet] | -| associated_types.rs:256:91:261:5 | { ... } | T1 | associated_types.rs:256:33:256:45 | T::AnotherOutput[AnotherGet] | | associated_types.rs:257:9:260:9 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | | associated_types.rs:258:13:258:17 | thing | | associated_types.rs:256:33:256:45 | T | | associated_types.rs:259:13:259:17 | thing | | associated_types.rs:256:33:256:45 | T | | associated_types.rs:268:20:268:24 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:268:20:268:24 | SelfParam | TRef | associated_types.rs:1:1:2:21 | Wrapper | | associated_types.rs:268:20:268:24 | SelfParam | TRef.A | associated_types.rs:264:10:264:11 | TI | -| associated_types.rs:268:41:270:9 | { ... } | | associated_types.rs:264:10:264:11 | TI::Output[GetSet] | | associated_types.rs:269:13:269:16 | self | | {EXTERNAL LOCATION} | & | | associated_types.rs:269:13:269:16 | self | TRef | associated_types.rs:1:1:2:21 | Wrapper | | associated_types.rs:269:13:269:16 | self | TRef.A | associated_types.rs:264:10:264:11 | TI | @@ -134,7 +108,6 @@ inferCertainType | associated_types.rs:286:21:286:25 | SelfParam | TRef | associated_types.rs:282:5:287:5 | Self [trait GetSetWrap] | | associated_types.rs:293:21:293:25 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:293:21:293:25 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | -| associated_types.rs:293:43:295:9 | { ... } | | associated_types.rs:10:1:11:9 | S | | associated_types.rs:303:21:303:25 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:303:21:303:25 | SelfParam | TRef | associated_types.rs:1:1:2:21 | Wrapper | | associated_types.rs:303:21:303:25 | SelfParam | TRef.A | associated_types.rs:299:10:299:11 | TI | @@ -143,7 +116,6 @@ inferCertainType | associated_types.rs:304:13:304:16 | self | TRef.A | associated_types.rs:299:10:299:11 | TI | | associated_types.rs:308:19:322:5 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:311:13:314:9 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| associated_types.rs:314:13:314:39 | tp_assoc_from_supertrait(...) | | {EXTERNAL LOCATION} | (T_2) | | associated_types.rs:329:26:329:26 | x | | associated_types.rs:329:23:329:23 | T | | associated_types.rs:332:5:334:5 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:333:18:333:18 | x | | associated_types.rs:329:23:329:23 | T | @@ -172,7 +144,6 @@ inferCertainType | associated_types.rs:384:23:384:27 | SelfParam | TRef | associated_types.rs:377:5:388:5 | Self [trait MyTraitAssoc2] | | associated_types.rs:384:30:384:30 | a | | associated_types.rs:384:20:384:20 | A | | associated_types.rs:384:36:384:36 | b | | associated_types.rs:384:20:384:20 | A | -| associated_types.rs:384:76:387:9 | { ... } | | associated_types.rs:378:9:378:52 | GenericAssociatedType[MyTraitAssoc2] | | associated_types.rs:385:13:385:16 | self | | {EXTERNAL LOCATION} | & | | associated_types.rs:385:13:385:16 | self | TRef | associated_types.rs:377:5:388:5 | Self [trait MyTraitAssoc2] | | associated_types.rs:385:22:385:22 | a | | associated_types.rs:384:20:384:20 | A | @@ -182,8 +153,6 @@ inferCertainType | associated_types.rs:395:19:395:23 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:395:19:395:23 | SelfParam | TRef | associated_types.rs:10:1:11:9 | S | | associated_types.rs:395:26:395:26 | a | | associated_types.rs:395:16:395:16 | A | -| associated_types.rs:395:46:397:9 | { ... } | | associated_types.rs:1:1:2:21 | Wrapper | -| associated_types.rs:395:46:397:9 | { ... } | A | associated_types.rs:395:16:395:16 | A | | associated_types.rs:396:21:396:21 | a | | associated_types.rs:395:16:395:16 | A | | associated_types.rs:400:19:407:5 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:403:25:403:28 | 1i32 | | {EXTERNAL LOCATION} | i32 | @@ -197,13 +166,10 @@ inferCertainType | associated_types.rs:422:20:422:24 | SelfParam | TRef | associated_types.rs:413:5:423:5 | Self [trait TraitMultipleAssoc] | | associated_types.rs:429:21:429:25 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:429:21:429:25 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:429:34:431:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | | associated_types.rs:433:20:433:24 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:433:20:433:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:433:43:435:9 | { ... } | | associated_types.rs:10:1:11:9 | S | | associated_types.rs:437:20:437:24 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:437:20:437:24 | SelfParam | TRef | associated_types.rs:16:1:17:10 | S3 | -| associated_types.rs:437:43:439:9 | { ... } | | associated_types.rs:13:1:14:10 | S2 | | associated_types.rs:442:19:446:5 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:454:24:454:28 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:454:24:454:28 | SelfParam | TRef | associated_types.rs:452:5:455:5 | Self [trait Subtrait] | @@ -221,7 +187,6 @@ inferCertainType | associated_types.rs:474:16:474:20 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:474:16:474:20 | SelfParam | TRef | associated_types.rs:469:5:469:24 | MyType | | associated_types.rs:474:16:474:20 | SelfParam | TRef.T | associated_types.rs:471:10:471:16 | T | -| associated_types.rs:474:39:476:9 | { ... } | | associated_types.rs:471:10:471:16 | T | | associated_types.rs:475:13:475:16 | self | | {EXTERNAL LOCATION} | & | | associated_types.rs:475:13:475:16 | self | TRef | associated_types.rs:469:5:469:24 | MyType | | associated_types.rs:475:13:475:16 | self | TRef.T | associated_types.rs:471:10:471:16 | T | @@ -232,26 +197,21 @@ inferCertainType | associated_types.rs:478:47:480:9 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:479:22:479:42 | "Inserting content: \\n" | | {EXTERNAL LOCATION} | & | | associated_types.rs:479:22:479:42 | "Inserting content: \\n" | TRef | {EXTERNAL LOCATION} | str | -| associated_types.rs:479:22:479:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | associated_types.rs:479:22:479:42 | { ... } | | {EXTERNAL LOCATION} | () | | associated_types.rs:485:24:485:28 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:485:24:485:28 | SelfParam | TRef | associated_types.rs:469:5:469:24 | MyType | | associated_types.rs:485:24:485:28 | SelfParam | TRef.T | associated_types.rs:483:10:483:16 | T | -| associated_types.rs:485:47:487:9 | { ... } | | associated_types.rs:483:10:483:16 | T | | associated_types.rs:486:15:486:18 | self | | {EXTERNAL LOCATION} | & | | associated_types.rs:486:15:486:18 | self | TRef | associated_types.rs:469:5:469:24 | MyType | | associated_types.rs:486:15:486:18 | self | TRef.T | associated_types.rs:483:10:483:16 | T | | associated_types.rs:492:24:492:28 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:492:24:492:28 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | | associated_types.rs:492:24:492:28 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | i32 | -| associated_types.rs:492:47:495:9 | { ... } | | {EXTERNAL LOCATION} | bool | | associated_types.rs:500:24:500:28 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:500:24:500:28 | SelfParam | TRef | associated_types.rs:67:1:67:23 | Odd | | associated_types.rs:500:24:500:28 | SelfParam | TRef.OddT | {EXTERNAL LOCATION} | bool | -| associated_types.rs:500:47:502:9 | { ... } | | {EXTERNAL LOCATION} | char | | associated_types.rs:505:33:505:36 | item | | {EXTERNAL LOCATION} | & | | associated_types.rs:505:33:505:36 | item | TRef | associated_types.rs:505:20:505:30 | T | -| associated_types.rs:505:56:507:5 | { ... } | | associated_types.rs:505:20:505:30 | T::Output[GetSet] | | associated_types.rs:506:9:506:12 | item | | {EXTERNAL LOCATION} | & | | associated_types.rs:506:9:506:12 | item | TRef | associated_types.rs:505:20:505:30 | T | | associated_types.rs:509:35:509:38 | item | | {EXTERNAL LOCATION} | & | @@ -276,9 +236,6 @@ inferCertainType | associated_types.rs:536:16:536:20 | SelfParam | | {EXTERNAL LOCATION} | & | | associated_types.rs:536:16:536:20 | SelfParam | TRef | associated_types.rs:529:5:529:20 | ST | | associated_types.rs:536:16:536:20 | SelfParam | TRef.T | associated_types.rs:531:10:531:21 | Output | -| associated_types.rs:536:39:538:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| associated_types.rs:536:39:538:9 | { ... } | E | associated_types.rs:531:10:531:21 | Output | -| associated_types.rs:536:39:538:9 | { ... } | T | associated_types.rs:531:10:531:21 | Output | | associated_types.rs:537:16:537:19 | self | | {EXTERNAL LOCATION} | & | | associated_types.rs:537:16:537:19 | self | TRef | associated_types.rs:529:5:529:20 | ST | | associated_types.rs:537:16:537:19 | self | TRef.T | associated_types.rs:531:10:531:21 | Output | @@ -323,18 +280,8 @@ inferCertainType | associated_types.rs:565:19:565:19 | t | TRef.dyn(AnotherOutput) | {EXTERNAL LOCATION} | bool | | associated_types.rs:565:19:565:19 | t | TRef.dyn(Output) | {EXTERNAL LOCATION} | i32 | | associated_types.rs:569:15:578:1 | { ... } | | {EXTERNAL LOCATION} | () | -| associated_types.rs:570:5:570:48 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:571:5:571:48 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:572:5:572:59 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:573:5:573:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:574:5:574:35 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:575:5:575:37 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:576:5:576:41 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| associated_types.rs:577:5:577:46 | ...::test(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:15:18:15:22 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:15:18:15:22 | SelfParam | TRef | blanket_impl.rs:9:5:10:14 | S2 | -| blanket_impl.rs:15:42:17:9 | { ... } | | {EXTERNAL LOCATION} | & | -| blanket_impl.rs:15:42:17:9 | { ... } | TRef | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:16:13:16:15 | &S1 | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:21:19:21:23 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:21:19:21:23 | SelfParam | TRef | blanket_impl.rs:20:5:22:5 | Self [trait Clone1] | @@ -342,49 +289,40 @@ inferCertainType | blanket_impl.rs:25:22:25:26 | SelfParam | TRef | blanket_impl.rs:24:5:28:5 | Self [trait Duplicatable] | | blanket_impl.rs:32:19:32:23 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:32:19:32:23 | SelfParam | TRef | blanket_impl.rs:6:5:7:14 | S1 | -| blanket_impl.rs:32:34:34:9 | { ... } | | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:33:14:33:17 | self | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:33:14:33:17 | self | TRef | blanket_impl.rs:6:5:7:14 | S1 | | blanket_impl.rs:40:22:40:26 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:40:22:40:26 | SelfParam | TRef | blanket_impl.rs:38:10:38:18 | T | -| blanket_impl.rs:40:37:42:9 | { ... } | | blanket_impl.rs:38:10:38:18 | T | | blanket_impl.rs:41:13:41:16 | self | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:41:13:41:16 | self | TRef | blanket_impl.rs:38:10:38:18 | T | | blanket_impl.rs:45:33:60:5 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:47:18:47:25 | "{x1:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:47:18:47:25 | "{x1:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:47:18:47:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:47:18:47:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:48:18:48:22 | (...) | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:48:19:48:21 | &S1 | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:49:18:49:25 | "{x2:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:49:18:49:25 | "{x2:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:49:18:49:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:49:18:49:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:51:18:51:25 | "{x3:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:51:18:51:25 | "{x3:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:51:18:51:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:51:18:51:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:52:18:52:22 | (...) | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:52:19:52:21 | &S1 | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:53:18:53:25 | "{x4:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:53:18:53:25 | "{x4:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:53:18:53:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:53:18:53:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:54:32:54:34 | &S1 | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:55:18:55:25 | "{x5:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:55:18:55:25 | "{x5:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:55:18:55:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:55:18:55:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:57:18:57:25 | "{x6:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:57:18:57:25 | "{x6:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:57:18:57:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:57:18:57:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:58:18:58:22 | (...) | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:58:19:58:21 | &S2 | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:59:18:59:25 | "{x7:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:59:18:59:25 | "{x7:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:59:18:59:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:59:18:59:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:68:24:68:24 | x | | {EXTERNAL LOCATION} | i64 | | blanket_impl.rs:68:32:68:32 | y | | blanket_impl.rs:67:5:69:5 | Self [trait Trait1] | @@ -392,32 +330,23 @@ inferCertainType | blanket_impl.rs:72:32:72:32 | y | | blanket_impl.rs:71:5:73:5 | Self [trait Trait2] | | blanket_impl.rs:77:24:77:24 | x | | {EXTERNAL LOCATION} | i64 | | blanket_impl.rs:77:32:77:32 | y | | blanket_impl.rs:64:5:65:14 | S1 | -| blanket_impl.rs:77:49:79:9 | { ... } | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:78:13:78:13 | y | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:84:24:84:24 | x | | {EXTERNAL LOCATION} | i64 | | blanket_impl.rs:84:32:84:32 | y | | blanket_impl.rs:82:10:82:18 | T | -| blanket_impl.rs:84:49:86:9 | { ... } | | blanket_impl.rs:82:10:82:18 | T | | blanket_impl.rs:85:28:85:28 | x | | {EXTERNAL LOCATION} | i64 | | blanket_impl.rs:85:31:85:31 | y | | blanket_impl.rs:82:10:82:18 | T | | blanket_impl.rs:89:33:98:5 | { ... } | | {EXTERNAL LOCATION} | () | -| blanket_impl.rs:90:13:90:14 | x1 | | blanket_impl.rs:64:5:65:14 | S1 | -| blanket_impl.rs:90:18:90:39 | ...::assoc_func1(...) | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:91:18:91:25 | "{x1:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:91:18:91:25 | "{x1:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:91:18:91:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:91:18:91:25 | { ... } | | {EXTERNAL LOCATION} | () | -| blanket_impl.rs:91:20:91:21 | x1 | | blanket_impl.rs:64:5:65:14 | S1 | | blanket_impl.rs:93:18:93:25 | "{x2:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:93:18:93:25 | "{x2:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:93:18:93:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:93:18:93:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:95:18:95:25 | "{x3:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:95:18:95:25 | "{x3:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:95:18:95:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:95:18:95:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:97:18:97:25 | "{x4:?}\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:97:18:97:25 | "{x4:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:97:18:97:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:97:18:97:25 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:108:22:108:26 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:108:22:108:26 | SelfParam | TRef | blanket_impl.rs:107:5:109:5 | Self [trait Flag] | @@ -425,33 +354,24 @@ inferCertainType | blanket_impl.rs:112:26:112:30 | SelfParam | TRef | blanket_impl.rs:111:5:113:5 | Self [trait TryFlag] | | blanket_impl.rs:119:26:119:30 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:119:26:119:30 | SelfParam | TRef | blanket_impl.rs:115:10:115:11 | Fl | -| blanket_impl.rs:119:49:121:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| blanket_impl.rs:119:49:121:9 | { ... } | T | {EXTERNAL LOCATION} | bool | | blanket_impl.rs:120:18:120:21 | self | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:120:18:120:21 | self | TRef | blanket_impl.rs:115:10:115:11 | Fl | | blanket_impl.rs:126:32:126:36 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:126:32:126:36 | SelfParam | TRef | blanket_impl.rs:124:5:129:5 | Self [trait TryFlagExt] | -| blanket_impl.rs:126:55:128:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| blanket_impl.rs:126:55:128:9 | { ... } | T | {EXTERNAL LOCATION} | bool | | blanket_impl.rs:127:13:127:16 | self | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:127:13:127:16 | self | TRef | blanket_impl.rs:124:5:129:5 | Self [trait TryFlagExt] | | blanket_impl.rs:135:32:135:36 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:135:32:135:36 | SelfParam | TRef | blanket_impl.rs:133:5:136:5 | Self [trait AnotherTryFlag] | | blanket_impl.rs:144:26:144:30 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:144:26:144:30 | SelfParam | TRef | blanket_impl.rs:138:5:140:5 | MyTryFlag | -| blanket_impl.rs:144:49:146:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| blanket_impl.rs:144:49:146:9 | { ... } | T | {EXTERNAL LOCATION} | bool | | blanket_impl.rs:145:18:145:21 | self | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:145:18:145:21 | self | TRef | blanket_impl.rs:138:5:140:5 | MyTryFlag | | blanket_impl.rs:155:22:155:26 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:155:22:155:26 | SelfParam | TRef | blanket_impl.rs:149:5:151:5 | MyFlag | -| blanket_impl.rs:155:37:157:9 | { ... } | | {EXTERNAL LOCATION} | bool | | blanket_impl.rs:156:13:156:16 | self | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:156:13:156:16 | self | TRef | blanket_impl.rs:149:5:151:5 | MyFlag | | blanket_impl.rs:166:32:166:36 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:166:32:166:36 | SelfParam | TRef | blanket_impl.rs:160:5:162:5 | MyOtherFlag | -| blanket_impl.rs:166:55:168:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| blanket_impl.rs:166:55:168:9 | { ... } | T | {EXTERNAL LOCATION} | bool | | blanket_impl.rs:167:18:167:21 | self | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:167:18:167:21 | self | TRef | blanket_impl.rs:160:5:162:5 | MyOtherFlag | | blanket_impl.rs:171:15:184:5 | { ... } | | {EXTERNAL LOCATION} | () | @@ -478,18 +398,15 @@ inferCertainType | blanket_impl.rs:226:21:226:22 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:231:15:231:18 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:231:15:231:18 | SelfParam | TRef | blanket_impl.rs:229:10:229:27 | T | -| blanket_impl.rs:231:21:233:9 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:232:13:232:16 | self | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:232:13:232:16 | self | TRef | blanket_impl.rs:229:10:229:27 | T | | blanket_impl.rs:238:15:238:18 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:238:15:238:18 | SelfParam | TRef | {EXTERNAL LOCATION} | & | | blanket_impl.rs:238:15:238:18 | SelfParam | TRef.TRef | blanket_impl.rs:188:5:189:14 | S1 | -| blanket_impl.rs:238:21:240:9 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:239:13:239:16 | self | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:239:13:239:16 | self | TRef | {EXTERNAL LOCATION} | & | | blanket_impl.rs:239:13:239:16 | self | TRef.TRef | blanket_impl.rs:188:5:189:14 | S1 | | blanket_impl.rs:245:15:245:18 | SelfParam | | blanket_impl.rs:243:10:243:20 | T | -| blanket_impl.rs:245:21:247:9 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:246:13:246:16 | self | | blanket_impl.rs:243:10:243:20 | T | | blanket_impl.rs:252:15:252:18 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:252:15:252:18 | SelfParam | TRef | blanket_impl.rs:250:10:250:10 | T | @@ -514,7 +431,6 @@ inferCertainType | blanket_impl.rs:277:28:279:9 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:278:22:278:41 | "Executor::execute1\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:278:22:278:41 | "Executor::execute1\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:278:22:278:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:278:22:278:41 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:281:24:281:28 | SelfParam | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:281:24:281:28 | SelfParam | TRef | blanket_impl.rs:276:10:276:22 | T | @@ -522,7 +438,6 @@ inferCertainType | blanket_impl.rs:281:42:283:9 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:282:22:282:41 | "Executor::execute2\\n" | | {EXTERNAL LOCATION} | & | | blanket_impl.rs:282:22:282:41 | "Executor::execute2\\n" | TRef | {EXTERNAL LOCATION} | str | -| blanket_impl.rs:282:22:282:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:282:22:282:41 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:290:16:300:5 | { ... } | | {EXTERNAL LOCATION} | () | | blanket_impl.rs:291:13:291:13 | c | | blanket_impl.rs:286:5:286:29 | MySqlConnection | @@ -547,23 +462,20 @@ inferCertainType | closure.rs:4:19:31:5 | { ... } | | {EXTERNAL LOCATION} | () | | closure.rs:6:13:6:22 | my_closure | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:6:13:6:22 | my_closure | dyn(Args) | {EXTERNAL LOCATION} | (T_2) | -| closure.rs:6:13:6:22 | my_closure | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | -| closure.rs:6:13:6:22 | my_closure | dyn(Args).T1 | {EXTERNAL LOCATION} | bool | | closure.rs:6:26:6:38 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:6:26:6:38 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_2) | -| closure.rs:6:26:6:38 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | -| closure.rs:6:26:6:38 | \|...\| ... | dyn(Args).T1 | {EXTERNAL LOCATION} | bool | -| closure.rs:6:27:6:27 | a | | {EXTERNAL LOCATION} | bool | -| closure.rs:6:30:6:30 | b | | {EXTERNAL LOCATION} | bool | | closure.rs:6:33:6:33 | a | | {EXTERNAL LOCATION} | bool | | closure.rs:6:33:6:38 | ... && ... | | {EXTERNAL LOCATION} | bool | | closure.rs:6:38:6:38 | b | | {EXTERNAL LOCATION} | bool | | closure.rs:8:13:8:13 | x | | {EXTERNAL LOCATION} | i64 | | closure.rs:8:22:8:25 | 1i64 | | {EXTERNAL LOCATION} | i64 | | closure.rs:9:13:9:19 | add_one | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:9:13:9:19 | add_one | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:9:23:9:34 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:9:23:9:34 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:9:31:9:34 | 1i64 | | {EXTERNAL LOCATION} | i64 | | closure.rs:10:18:10:24 | add_one | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:10:18:10:24 | add_one | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:10:25:10:27 | ArgList | | {EXTERNAL LOCATION} | (T_1) | | closure.rs:10:25:10:27 | ArgList | T0 | {EXTERNAL LOCATION} | i64 | | closure.rs:10:26:10:26 | x | | {EXTERNAL LOCATION} | i64 | @@ -579,17 +491,27 @@ inferCertainType | closure.rs:15:18:15:25 | add_zero | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:15:18:15:25 | add_zero | dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | | closure.rs:17:13:17:21 | _get_bool | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:17:13:17:21 | _get_bool | dyn(Args) | {EXTERNAL LOCATION} | () | +| closure.rs:17:13:17:21 | _get_bool | dyn(Output) | {EXTERNAL LOCATION} | bool | | closure.rs:17:25:21:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:17:25:21:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | () | +| closure.rs:17:25:21:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | bool | | closure.rs:24:13:24:14 | id | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:24:13:24:14 | id | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:24:18:24:22 | \|...\| b | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:24:18:24:22 | \|...\| b | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:25:18:25:19 | id | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:25:18:25:19 | id | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:25:20:25:25 | ArgList | | {EXTERNAL LOCATION} | (T_1) | | closure.rs:25:20:25:25 | ArgList | T0 | {EXTERNAL LOCATION} | bool | | closure.rs:25:21:25:24 | true | | {EXTERNAL LOCATION} | bool | | closure.rs:28:13:28:15 | id2 | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:28:13:28:15 | id2 | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:28:19:28:23 | \|...\| b | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:28:19:28:23 | \|...\| b | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:30:13:30:15 | _b2 | | {EXTERNAL LOCATION} | bool | | closure.rs:30:25:30:27 | id2 | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:30:25:30:27 | id2 | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:35:44:35:44 | f | | closure.rs:35:20:35:41 | F | | closure.rs:35:50:37:5 | { ... } | | {EXTERNAL LOCATION} | () | | closure.rs:36:23:36:23 | f | | closure.rs:35:20:35:41 | F | @@ -607,32 +529,34 @@ inferCertainType | closure.rs:45:9:45:9 | f | | closure.rs:43:22:43:43 | F | | closure.rs:48:39:48:39 | f | | closure.rs:48:20:48:36 | F | | closure.rs:48:45:48:45 | a | | closure.rs:48:14:48:14 | A | -| closure.rs:48:56:50:5 | { ... } | | closure.rs:48:17:48:17 | B | | closure.rs:49:9:49:9 | f | | closure.rs:48:20:48:36 | F | | closure.rs:49:10:49:12 | ArgList | | {EXTERNAL LOCATION} | (T_1) | | closure.rs:49:10:49:12 | ArgList | T0 | closure.rs:48:14:48:14 | A | | closure.rs:49:11:49:11 | a | | closure.rs:48:14:48:14 | A | | closure.rs:52:18:52:18 | f | | closure.rs:52:21:52:43 | impl ... | -| closure.rs:52:53:54:5 | { ... } | | {EXTERNAL LOCATION} | i64 | | closure.rs:53:9:53:9 | f | | closure.rs:52:21:52:43 | impl ... | | closure.rs:56:15:68:5 | { ... } | | {EXTERNAL LOCATION} | () | | closure.rs:57:13:57:13 | f | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:57:13:57:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:57:13:57:13 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:57:13:57:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:57:17:63:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:57:17:63:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:57:17:63:9 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:57:17:63:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:57:18:57:18 | x | | {EXTERNAL LOCATION} | bool | | closure.rs:58:16:58:16 | x | | {EXTERNAL LOCATION} | bool | | closure.rs:64:24:64:24 | f | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:64:24:64:24 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:64:24:64:24 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:64:24:64:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:64:27:64:30 | true | | {EXTERNAL LOCATION} | bool | | closure.rs:66:13:66:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:66:13:66:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:66:17:66:25 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | -| closure.rs:67:13:67:15 | _r2 | | {EXTERNAL LOCATION} | i64 | -| closure.rs:67:19:67:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:66:17:66:25 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:67:29:67:29 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:67:29:67:29 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:72:47:72:47 | f | | closure.rs:72:20:72:40 | F | | closure.rs:72:53:74:5 | { ... } | | {EXTERNAL LOCATION} | () | | closure.rs:73:23:73:23 | f | | closure.rs:72:20:72:40 | F | @@ -650,32 +574,34 @@ inferCertainType | closure.rs:82:9:82:9 | f | | closure.rs:80:22:80:42 | F | | closure.rs:85:42:85:42 | f | | closure.rs:85:20:85:35 | F | | closure.rs:85:48:85:48 | a | | closure.rs:85:14:85:14 | A | -| closure.rs:85:59:87:5 | { ... } | | closure.rs:85:17:85:17 | B | | closure.rs:86:9:86:9 | f | | closure.rs:85:20:85:35 | F | | closure.rs:86:10:86:12 | ArgList | | {EXTERNAL LOCATION} | (T_1) | | closure.rs:86:10:86:12 | ArgList | T0 | closure.rs:85:14:85:14 | A | | closure.rs:86:11:86:11 | a | | closure.rs:85:14:85:14 | A | | closure.rs:89:22:89:22 | f | | closure.rs:89:25:89:46 | impl ... | -| closure.rs:89:56:91:5 | { ... } | | {EXTERNAL LOCATION} | i64 | | closure.rs:90:9:90:9 | f | | closure.rs:89:25:89:46 | impl ... | | closure.rs:93:15:105:5 | { ... } | | {EXTERNAL LOCATION} | () | | closure.rs:94:13:94:13 | f | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:94:13:94:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:94:13:94:13 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:94:13:94:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:94:17:100:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:94:17:100:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:94:17:100:9 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:94:17:100:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:94:18:94:18 | x | | {EXTERNAL LOCATION} | bool | | closure.rs:95:16:95:16 | x | | {EXTERNAL LOCATION} | bool | | closure.rs:101:24:101:24 | f | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:101:24:101:24 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:101:24:101:24 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:101:24:101:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:101:27:101:30 | true | | {EXTERNAL LOCATION} | bool | | closure.rs:103:13:103:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:103:13:103:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:103:17:103:25 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | -| closure.rs:104:13:104:15 | _r2 | | {EXTERNAL LOCATION} | i64 | -| closure.rs:104:19:104:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:103:17:103:25 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:104:29:104:29 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:104:29:104:29 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:109:40:109:40 | f | | closure.rs:109:20:109:37 | F | | closure.rs:109:46:111:5 | { ... } | | {EXTERNAL LOCATION} | () | | closure.rs:110:23:110:23 | f | | closure.rs:109:20:109:37 | F | @@ -693,37 +619,38 @@ inferCertainType | closure.rs:119:9:119:9 | f | | closure.rs:117:22:117:39 | F | | closure.rs:122:35:122:35 | f | | closure.rs:122:20:122:32 | F | | closure.rs:122:41:122:41 | a | | closure.rs:122:14:122:14 | A | -| closure.rs:122:52:124:5 | { ... } | | closure.rs:122:17:122:17 | B | | closure.rs:123:9:123:9 | f | | closure.rs:122:20:122:32 | F | | closure.rs:123:10:123:12 | ArgList | | {EXTERNAL LOCATION} | (T_1) | | closure.rs:123:10:123:12 | ArgList | T0 | closure.rs:122:14:122:14 | A | | closure.rs:123:11:123:11 | a | | closure.rs:122:14:122:14 | A | | closure.rs:126:18:126:18 | f | | closure.rs:126:21:126:39 | impl ... | -| closure.rs:126:49:128:5 | { ... } | | {EXTERNAL LOCATION} | i64 | | closure.rs:127:9:127:9 | f | | closure.rs:126:21:126:39 | impl ... | | closure.rs:130:15:142:5 | { ... } | | {EXTERNAL LOCATION} | () | | closure.rs:131:13:131:13 | f | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:131:13:131:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:131:13:131:13 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:131:13:131:13 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:131:17:137:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:131:17:137:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:131:17:137:9 | \|...\| ... | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:131:17:137:9 | \|...\| ... | dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:131:18:131:18 | x | | {EXTERNAL LOCATION} | bool | | closure.rs:132:16:132:16 | x | | {EXTERNAL LOCATION} | bool | | closure.rs:138:24:138:24 | f | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:138:24:138:24 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:138:24:138:24 | f | dyn(Args).T0 | {EXTERNAL LOCATION} | bool | +| closure.rs:138:24:138:24 | f | dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:138:27:138:30 | true | | {EXTERNAL LOCATION} | bool | | closure.rs:140:13:140:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:140:13:140:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:140:17:140:25 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | -| closure.rs:141:13:141:15 | _r2 | | {EXTERNAL LOCATION} | i64 | -| closure.rs:141:19:141:30 | apply_two(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:140:17:140:25 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:141:29:141:29 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:141:29:141:29 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:146:54:146:54 | f | | {EXTERNAL LOCATION} | Box | | closure.rs:146:54:146:54 | f | A | {EXTERNAL LOCATION} | Global | | closure.rs:146:54:146:54 | f | T | closure.rs:146:26:146:51 | F | | closure.rs:146:65:146:67 | arg | | closure.rs:146:20:146:20 | A | -| closure.rs:146:78:148:5 | { ... } | | closure.rs:146:23:146:23 | B | | closure.rs:147:9:147:9 | f | | {EXTERNAL LOCATION} | Box | | closure.rs:147:9:147:9 | f | A | {EXTERNAL LOCATION} | Global | | closure.rs:147:9:147:9 | f | T | closure.rs:146:26:146:51 | F | @@ -745,8 +672,6 @@ inferCertainType | closure.rs:151:31:151:31 | f | T.dyn(Args).T0 | closure.rs:150:24:150:24 | A | | closure.rs:151:31:151:31 | f | T.dyn(Output) | closure.rs:150:27:150:27 | B | | closure.rs:151:34:151:36 | arg | | closure.rs:150:24:150:24 | A | -| closure.rs:152:31:152:53 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| closure.rs:152:31:152:53 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | closure.rs:152:40:152:52 | \|...\| true | | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:152:40:152:52 | \|...\| true | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:152:40:152:52 | \|...\| true | dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | @@ -754,14 +679,12 @@ inferCertainType | closure.rs:152:49:152:52 | true | | {EXTERNAL LOCATION} | bool | | closure.rs:157:34:157:34 | f | | closure.rs:157:15:157:31 | F | | closure.rs:157:40:157:40 | a | | {EXTERNAL LOCATION} | i64 | -| closure.rs:157:55:159:5 | { ... } | | {EXTERNAL LOCATION} | i64 | | closure.rs:158:9:158:9 | f | | closure.rs:157:15:157:31 | F | | closure.rs:158:10:158:12 | ArgList | | {EXTERNAL LOCATION} | (T_1) | | closure.rs:158:10:158:12 | ArgList | T0 | {EXTERNAL LOCATION} | i64 | | closure.rs:158:11:158:11 | a | | {EXTERNAL LOCATION} | i64 | | closure.rs:161:15:161:15 | f | | closure.rs:161:18:161:36 | impl ... | | closure.rs:161:39:161:39 | a | | {EXTERNAL LOCATION} | i64 | -| closure.rs:161:54:163:5 | { ... } | | {EXTERNAL LOCATION} | i64 | | closure.rs:162:9:162:9 | f | | closure.rs:161:18:161:36 | impl ... | | closure.rs:162:10:162:12 | ArgList | | {EXTERNAL LOCATION} | (T_1) | | closure.rs:162:10:162:12 | ArgList | T0 | {EXTERNAL LOCATION} | i64 | @@ -772,7 +695,6 @@ inferCertainType | closure.rs:165:15:165:15 | f | TRef.dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | | closure.rs:165:15:165:15 | f | TRef.dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:165:39:165:39 | a | | {EXTERNAL LOCATION} | i64 | -| closure.rs:165:54:167:5 | { ... } | | {EXTERNAL LOCATION} | i64 | | closure.rs:166:9:166:9 | f | | {EXTERNAL LOCATION} | & | | closure.rs:166:9:166:9 | f | TRef | {EXTERNAL LOCATION} | dyn Fn | | closure.rs:166:9:166:9 | f | TRef.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | @@ -783,7 +705,6 @@ inferCertainType | closure.rs:166:11:166:11 | a | | {EXTERNAL LOCATION} | i64 | | closure.rs:169:41:169:41 | f | | closure.rs:169:15:169:34 | F | | closure.rs:169:47:169:47 | a | | {EXTERNAL LOCATION} | i64 | -| closure.rs:169:62:171:5 | { ... } | | {EXTERNAL LOCATION} | i64 | | closure.rs:170:9:170:9 | f | | closure.rs:169:15:169:34 | F | | closure.rs:170:10:170:12 | ArgList | | {EXTERNAL LOCATION} | (T_1) | | closure.rs:170:10:170:12 | ArgList | T0 | {EXTERNAL LOCATION} | i64 | @@ -794,7 +715,6 @@ inferCertainType | closure.rs:173:15:173:15 | f | TRefMut.dyn(Args).T0 | {EXTERNAL LOCATION} | i64 | | closure.rs:173:15:173:15 | f | TRefMut.dyn(Output) | {EXTERNAL LOCATION} | i64 | | closure.rs:173:46:173:46 | a | | {EXTERNAL LOCATION} | i64 | -| closure.rs:173:61:175:5 | { ... } | | {EXTERNAL LOCATION} | i64 | | closure.rs:174:9:174:9 | f | | {EXTERNAL LOCATION} | &mut | | closure.rs:174:9:174:9 | f | TRefMut | {EXTERNAL LOCATION} | dyn FnMut | | closure.rs:174:9:174:9 | f | TRefMut.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | @@ -805,73 +725,74 @@ inferCertainType | closure.rs:174:11:174:11 | a | | {EXTERNAL LOCATION} | i64 | | closure.rs:177:18:177:18 | f | | closure.rs:177:21:177:37 | impl ... | | closure.rs:177:40:177:40 | a | | closure.rs:177:15:177:15 | T | -| closure.rs:177:53:179:5 | { ... } | | {EXTERNAL LOCATION} | i64 | | closure.rs:178:9:178:9 | f | | closure.rs:177:21:177:37 | impl ... | | closure.rs:178:10:178:12 | ArgList | | {EXTERNAL LOCATION} | (T_1) | | closure.rs:178:10:178:12 | ArgList | T0 | closure.rs:177:15:177:15 | T | | closure.rs:178:11:178:11 | a | | closure.rs:177:15:177:15 | T | | closure.rs:181:42:181:42 | f | | closure.rs:181:18:181:35 | F | | closure.rs:181:48:181:48 | a | | closure.rs:181:15:181:15 | T | -| closure.rs:181:61:183:5 | { ... } | | {EXTERNAL LOCATION} | i64 | | closure.rs:182:9:182:9 | f | | closure.rs:181:18:181:35 | F | | closure.rs:182:10:182:12 | ArgList | | {EXTERNAL LOCATION} | (T_1) | | closure.rs:182:10:182:12 | ArgList | T0 | closure.rs:181:15:181:15 | T | | closure.rs:182:11:182:11 | a | | closure.rs:181:15:181:15 | T | | closure.rs:185:15:206:5 | { ... } | | {EXTERNAL LOCATION} | () | | closure.rs:186:13:186:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:186:13:186:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:186:17:186:21 | \|...\| x | | {EXTERNAL LOCATION} | dyn Fn | -| closure.rs:187:13:187:14 | _r | | {EXTERNAL LOCATION} | i64 | -| closure.rs:187:18:187:32 | apply1(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:186:17:186:21 | \|...\| x | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:187:25:187:25 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:187:25:187:25 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:187:28:187:31 | 1i64 | | {EXTERNAL LOCATION} | i64 | | closure.rs:189:13:189:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:189:13:189:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:189:17:189:21 | \|...\| x | | {EXTERNAL LOCATION} | dyn Fn | -| closure.rs:190:13:190:14 | _r | | {EXTERNAL LOCATION} | i64 | -| closure.rs:190:18:190:32 | apply2(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:189:17:189:21 | \|...\| x | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:190:25:190:25 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:190:25:190:25 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:190:28:190:31 | 2i64 | | {EXTERNAL LOCATION} | i64 | | closure.rs:192:13:192:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:192:13:192:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:192:17:192:21 | \|...\| x | | {EXTERNAL LOCATION} | dyn Fn | -| closure.rs:193:13:193:14 | _r | | {EXTERNAL LOCATION} | i64 | -| closure.rs:193:18:193:33 | apply3(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:192:17:192:21 | \|...\| x | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:193:25:193:26 | &f | | {EXTERNAL LOCATION} | & | | closure.rs:193:26:193:26 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:193:26:193:26 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:193:29:193:32 | 3i64 | | {EXTERNAL LOCATION} | i64 | | closure.rs:195:13:195:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:195:13:195:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:195:17:195:21 | \|...\| x | | {EXTERNAL LOCATION} | dyn Fn | -| closure.rs:196:13:196:14 | _r | | {EXTERNAL LOCATION} | i64 | -| closure.rs:196:18:196:32 | apply4(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:195:17:195:21 | \|...\| x | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:196:25:196:25 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:196:25:196:25 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:196:28:196:31 | 4i64 | | {EXTERNAL LOCATION} | i64 | | closure.rs:198:17:198:17 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:198:17:198:17 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:198:21:198:25 | \|...\| x | | {EXTERNAL LOCATION} | dyn Fn | -| closure.rs:199:13:199:14 | _r | | {EXTERNAL LOCATION} | i64 | -| closure.rs:199:18:199:37 | apply5(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:198:21:198:25 | \|...\| x | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:199:25:199:30 | &mut f | | {EXTERNAL LOCATION} | &mut | | closure.rs:199:30:199:30 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:199:30:199:30 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:199:33:199:36 | 5i64 | | {EXTERNAL LOCATION} | i64 | | closure.rs:201:13:201:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:201:13:201:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:201:17:201:21 | \|...\| x | | {EXTERNAL LOCATION} | dyn Fn | -| closure.rs:202:13:202:14 | _r | | {EXTERNAL LOCATION} | i64 | -| closure.rs:202:18:202:32 | apply6(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:201:17:201:21 | \|...\| x | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:202:25:202:25 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:202:25:202:25 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:202:28:202:31 | 6i64 | | {EXTERNAL LOCATION} | i64 | | closure.rs:204:13:204:13 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:204:13:204:13 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:204:17:204:21 | \|...\| x | | {EXTERNAL LOCATION} | dyn Fn | -| closure.rs:205:13:205:14 | _r | | {EXTERNAL LOCATION} | i64 | -| closure.rs:205:18:205:32 | apply7(...) | | {EXTERNAL LOCATION} | i64 | +| closure.rs:204:17:204:21 | \|...\| x | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:205:25:205:25 | f | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:205:25:205:25 | f | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:205:28:205:31 | 7i64 | | {EXTERNAL LOCATION} | i64 | | closure.rs:217:18:217:22 | SelfParam | | {EXTERNAL LOCATION} | & | | closure.rs:217:18:217:22 | SelfParam | TRef | closure.rs:212:5:212:19 | S | | closure.rs:217:18:217:22 | SelfParam | TRef.T | closure.rs:214:10:214:10 | T | -| closure.rs:217:42:219:9 | { ... } | | {EXTERNAL LOCATION} | & | -| closure.rs:217:42:219:9 | { ... } | TRef | {EXTERNAL LOCATION} | dyn Fn | -| closure.rs:217:42:219:9 | { ... } | TRef.dyn(Args) | {EXTERNAL LOCATION} | (T_1) | -| closure.rs:217:42:219:9 | { ... } | TRef.dyn(Args).T0 | closure.rs:214:10:214:10 | T | -| closure.rs:217:42:219:9 | { ... } | TRef.dyn(Output) | {EXTERNAL LOCATION} | bool | | closure.rs:218:13:218:22 | &... | | {EXTERNAL LOCATION} | & | | closure.rs:218:14:218:22 | \|...\| false | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:218:14:218:22 | \|...\| false | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:218:18:218:22 | false | | {EXTERNAL LOCATION} | bool | | closure.rs:222:19:248:5 | { ... } | | {EXTERNAL LOCATION} | () | | closure.rs:223:13:223:13 | x | | {EXTERNAL LOCATION} | i64 | @@ -891,25 +812,24 @@ inferCertainType | closure.rs:240:25:240:27 | ArgList | T0 | {EXTERNAL LOCATION} | i32 | | closure.rs:240:26:240:26 | x | | {EXTERNAL LOCATION} | i32 | | closure.rs:246:13:246:13 | c | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:246:13:246:13 | c | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:246:17:246:21 | \|...\| x | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:246:17:246:21 | \|...\| x | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:247:9:247:12 | (...) | | {EXTERNAL LOCATION} | & | | closure.rs:247:10:247:11 | &c | | {EXTERNAL LOCATION} | & | | closure.rs:247:11:247:11 | c | | {EXTERNAL LOCATION} | dyn Fn | +| closure.rs:247:11:247:11 | c | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | closure.rs:247:13:247:15 | ArgList | | {EXTERNAL LOCATION} | (T_1) | | closure.rs:247:13:247:15 | ArgList | T0 | {EXTERNAL LOCATION} | i32 | | closure.rs:247:14:247:14 | x | | {EXTERNAL LOCATION} | i32 | | dereference.rs:13:14:13:18 | SelfParam | | {EXTERNAL LOCATION} | & | | dereference.rs:13:14:13:18 | SelfParam | TRef | dereference.rs:5:1:7:1 | MyIntPointer | -| dereference.rs:13:29:15:5 | { ... } | | {EXTERNAL LOCATION} | & | -| dereference.rs:13:29:15:5 | { ... } | TRef | {EXTERNAL LOCATION} | i64 | | dereference.rs:14:9:14:19 | &... | | {EXTERNAL LOCATION} | & | | dereference.rs:14:10:14:13 | self | | {EXTERNAL LOCATION} | & | | dereference.rs:14:10:14:13 | self | TRef | dereference.rs:5:1:7:1 | MyIntPointer | | dereference.rs:26:14:26:18 | SelfParam | | {EXTERNAL LOCATION} | & | | dereference.rs:26:14:26:18 | SelfParam | TRef | dereference.rs:18:1:20:1 | MySmartPointer | | dereference.rs:26:14:26:18 | SelfParam | TRef.T | dereference.rs:22:6:22:6 | T | -| dereference.rs:26:27:28:5 | { ... } | | {EXTERNAL LOCATION} | & | -| dereference.rs:26:27:28:5 | { ... } | TRef | dereference.rs:22:6:22:6 | T | | dereference.rs:27:9:27:19 | &... | | {EXTERNAL LOCATION} | & | | dereference.rs:27:10:27:13 | self | | {EXTERNAL LOCATION} | & | | dereference.rs:27:10:27:13 | self | TRef | dereference.rs:18:1:20:1 | MySmartPointer | @@ -917,8 +837,6 @@ inferCertainType | dereference.rs:33:18:33:26 | SelfParam | | {EXTERNAL LOCATION} | &mut | | dereference.rs:33:18:33:26 | SelfParam | TRefMut | dereference.rs:18:1:20:1 | MySmartPointer | | dereference.rs:33:18:33:26 | SelfParam | TRefMut.T | dereference.rs:31:6:31:6 | T | -| dereference.rs:33:39:35:5 | { ... } | | {EXTERNAL LOCATION} | &mut | -| dereference.rs:33:39:35:5 | { ... } | TRefMut | dereference.rs:31:6:31:6 | T | | dereference.rs:34:9:34:23 | &mut ... | | {EXTERNAL LOCATION} | &mut | | dereference.rs:34:14:34:17 | self | | {EXTERNAL LOCATION} | &mut | | dereference.rs:34:14:34:17 | self | TRefMut | dereference.rs:18:1:20:1 | MySmartPointer | @@ -926,8 +844,6 @@ inferCertainType | dereference.rs:41:12:41:16 | SelfParam | | {EXTERNAL LOCATION} | & | | dereference.rs:41:12:41:16 | SelfParam | TRef | dereference.rs:38:1:38:15 | S | | dereference.rs:41:12:41:16 | SelfParam | TRef.T | dereference.rs:40:6:40:6 | T | -| dereference.rs:41:25:43:5 | { ... } | | {EXTERNAL LOCATION} | & | -| dereference.rs:41:25:43:5 | { ... } | TRef | dereference.rs:40:6:40:6 | T | | dereference.rs:42:9:42:15 | &... | | {EXTERNAL LOCATION} | & | | dereference.rs:42:10:42:13 | self | | {EXTERNAL LOCATION} | & | | dereference.rs:42:10:42:13 | self | TRef | dereference.rs:38:1:38:15 | S | @@ -975,8 +891,6 @@ inferCertainType | dereference.rs:90:9:90:10 | g1 | | {EXTERNAL LOCATION} | Box | | dereference.rs:90:9:90:10 | g1 | A | {EXTERNAL LOCATION} | Global | | dereference.rs:90:9:90:10 | g1 | T | {EXTERNAL LOCATION} | char | -| dereference.rs:90:25:90:37 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| dereference.rs:90:25:90:37 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | dereference.rs:90:34:90:36 | 'a' | | {EXTERNAL LOCATION} | char | | dereference.rs:91:15:91:16 | g1 | | {EXTERNAL LOCATION} | Box | | dereference.rs:91:15:91:16 | g1 | A | {EXTERNAL LOCATION} | Global | @@ -984,8 +898,6 @@ inferCertainType | dereference.rs:94:9:94:10 | g2 | | {EXTERNAL LOCATION} | Box | | dereference.rs:94:9:94:10 | g2 | A | {EXTERNAL LOCATION} | Global | | dereference.rs:94:9:94:10 | g2 | T | {EXTERNAL LOCATION} | char | -| dereference.rs:94:25:94:37 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| dereference.rs:94:25:94:37 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | dereference.rs:94:34:94:36 | 'a' | | {EXTERNAL LOCATION} | char | | dereference.rs:95:16:95:17 | g2 | | {EXTERNAL LOCATION} | Box | | dereference.rs:95:16:95:17 | g2 | A | {EXTERNAL LOCATION} | Global | @@ -993,8 +905,6 @@ inferCertainType | dereference.rs:98:9:98:10 | g3 | | {EXTERNAL LOCATION} | Box | | dereference.rs:98:9:98:10 | g3 | A | {EXTERNAL LOCATION} | Global | | dereference.rs:98:9:98:10 | g3 | T | {EXTERNAL LOCATION} | i64 | -| dereference.rs:98:24:98:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| dereference.rs:98:24:98:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | dereference.rs:98:33:98:37 | 34i64 | | {EXTERNAL LOCATION} | i64 | | dereference.rs:99:17:99:18 | g3 | | {EXTERNAL LOCATION} | Box | | dereference.rs:99:17:99:18 | g3 | A | {EXTERNAL LOCATION} | Global | @@ -1012,66 +922,32 @@ inferCertainType | dereference.rs:111:13:111:45 | MySmartPointer {...} | | dereference.rs:18:1:20:1 | MySmartPointer | | dereference.rs:111:39:111:42 | 0i64 | | {EXTERNAL LOCATION} | i64 | | dereference.rs:112:14:112:14 | z | | dereference.rs:18:1:20:1 | MySmartPointer | -| dereference.rs:114:9:114:9 | v | | {EXTERNAL LOCATION} | Vec | -| dereference.rs:114:9:114:9 | v | A | {EXTERNAL LOCATION} | Global | -| dereference.rs:114:13:114:22 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| dereference.rs:114:13:114:22 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | dereference.rs:115:13:115:13 | x | | dereference.rs:18:1:20:1 | MySmartPointer | | dereference.rs:115:17:115:43 | MySmartPointer {...} | | dereference.rs:18:1:20:1 | MySmartPointer | -| dereference.rs:115:41:115:41 | v | | {EXTERNAL LOCATION} | Vec | -| dereference.rs:115:41:115:41 | v | A | {EXTERNAL LOCATION} | Global | | dereference.rs:116:5:116:5 | x | | dereference.rs:18:1:20:1 | MySmartPointer | | dereference.rs:143:19:151:5 | { ... } | | {EXTERNAL LOCATION} | () | -| dereference.rs:144:17:144:26 | key_to_key | | {EXTERNAL LOCATION} | HashMap | -| dereference.rs:144:17:144:26 | key_to_key | K | {EXTERNAL LOCATION} | & | -| dereference.rs:144:17:144:26 | key_to_key | K.TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:144:17:144:26 | key_to_key | S | {EXTERNAL LOCATION} | RandomState | -| dereference.rs:144:17:144:26 | key_to_key | V | {EXTERNAL LOCATION} | & | -| dereference.rs:144:17:144:26 | key_to_key | V.TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:144:30:144:57 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | -| dereference.rs:144:30:144:57 | ...::new(...) | K | {EXTERNAL LOCATION} | & | -| dereference.rs:144:30:144:57 | ...::new(...) | K.TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:144:30:144:57 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | -| dereference.rs:144:30:144:57 | ...::new(...) | V | {EXTERNAL LOCATION} | & | -| dereference.rs:144:30:144:57 | ...::new(...) | V.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:145:17:145:19 | key | | {EXTERNAL LOCATION} | & | | dereference.rs:145:23:145:29 | &... | | {EXTERNAL LOCATION} | & | | dereference.rs:145:24:145:29 | Key {...} | | dereference.rs:122:5:123:21 | Key | | dereference.rs:146:9:149:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| dereference.rs:146:32:146:41 | key_to_key | | {EXTERNAL LOCATION} | HashMap | -| dereference.rs:146:32:146:41 | key_to_key | K | {EXTERNAL LOCATION} | & | -| dereference.rs:146:32:146:41 | key_to_key | K.TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:146:32:146:41 | key_to_key | S | {EXTERNAL LOCATION} | RandomState | -| dereference.rs:146:32:146:41 | key_to_key | V | {EXTERNAL LOCATION} | & | -| dereference.rs:146:32:146:41 | key_to_key | V.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:146:47:146:49 | key | | {EXTERNAL LOCATION} | & | | dereference.rs:146:52:149:9 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:148:13:148:15 | key | | {EXTERNAL LOCATION} | & | -| dereference.rs:150:9:150:18 | key_to_key | | {EXTERNAL LOCATION} | HashMap | -| dereference.rs:150:9:150:18 | key_to_key | K | {EXTERNAL LOCATION} | & | -| dereference.rs:150:9:150:18 | key_to_key | K.TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:150:9:150:18 | key_to_key | S | {EXTERNAL LOCATION} | RandomState | -| dereference.rs:150:9:150:18 | key_to_key | V | {EXTERNAL LOCATION} | & | -| dereference.rs:150:9:150:18 | key_to_key | V.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:150:27:150:29 | key | | {EXTERNAL LOCATION} | & | | dereference.rs:150:32:150:34 | key | | {EXTERNAL LOCATION} | & | | dereference.rs:156:16:156:19 | SelfParam | | dereference.rs:155:5:157:5 | Self [trait MyTrait1] | | dereference.rs:163:16:163:19 | SelfParam | | {EXTERNAL LOCATION} | & | | dereference.rs:163:16:163:19 | SelfParam | TRef | dereference.rs:159:5:159:13 | S | -| dereference.rs:163:27:165:9 | { ... } | | dereference.rs:159:5:159:13 | S | | dereference.rs:170:16:170:19 | SelfParam | | {EXTERNAL LOCATION} | &mut | | dereference.rs:170:16:170:19 | SelfParam | TRefMut | dereference.rs:159:5:159:13 | S | -| dereference.rs:170:29:172:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | dereference.rs:176:16:176:19 | SelfParam | | dereference.rs:175:5:177:5 | Self [trait MyTrait2] | | dereference.rs:176:22:176:24 | arg | | dereference.rs:175:20:175:21 | T1 | | dereference.rs:181:16:181:19 | SelfParam | | dereference.rs:159:5:159:13 | S | | dereference.rs:181:22:181:24 | arg | | {EXTERNAL LOCATION} | & | | dereference.rs:181:22:181:24 | arg | TRef | dereference.rs:159:5:159:13 | S | -| dereference.rs:181:36:183:9 | { ... } | | dereference.rs:159:5:159:13 | S | | dereference.rs:188:16:188:19 | SelfParam | | dereference.rs:159:5:159:13 | S | | dereference.rs:188:22:188:24 | arg | | {EXTERNAL LOCATION} | &mut | | dereference.rs:188:22:188:24 | arg | TRefMut | dereference.rs:159:5:159:13 | S | -| dereference.rs:188:42:190:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | dereference.rs:193:19:200:5 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:194:17:194:20 | (...) | | {EXTERNAL LOCATION} | & | | dereference.rs:194:18:194:19 | &S | | {EXTERNAL LOCATION} | & | @@ -1083,31 +959,19 @@ inferCertainType | dereference.rs:208:16:208:20 | SelfParam | TRef | dereference.rs:207:5:209:5 | Self [trait Bar] | | dereference.rs:213:16:213:24 | SelfParam | | {EXTERNAL LOCATION} | &mut | | dereference.rs:213:16:213:24 | SelfParam | TRefMut | dereference.rs:205:5:205:17 | Foo | -| dereference.rs:213:27:215:9 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:214:22:214:38 | "In struct impl!\\n" | | {EXTERNAL LOCATION} | & | | dereference.rs:214:22:214:38 | "In struct impl!\\n" | TRef | {EXTERNAL LOCATION} | str | -| dereference.rs:214:22:214:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | dereference.rs:214:22:214:38 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:220:16:220:20 | SelfParam | | {EXTERNAL LOCATION} | & | | dereference.rs:220:16:220:20 | SelfParam | TRef | dereference.rs:205:5:205:17 | Foo | -| dereference.rs:220:23:222:9 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:221:22:221:37 | "In trait impl!\\n" | | {EXTERNAL LOCATION} | & | | dereference.rs:221:22:221:37 | "In trait impl!\\n" | TRef | {EXTERNAL LOCATION} | str | -| dereference.rs:221:22:221:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | dereference.rs:221:22:221:37 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:225:19:228:5 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:226:17:226:17 | f | | dereference.rs:205:5:205:17 | Foo | | dereference.rs:226:21:226:26 | Foo {...} | | dereference.rs:205:5:205:17 | Foo | | dereference.rs:227:9:227:9 | f | | dereference.rs:205:5:205:17 | Foo | | dereference.rs:231:15:240:1 | { ... } | | {EXTERNAL LOCATION} | () | -| dereference.rs:232:5:232:38 | explicit_monomorphic_dereference(...) | | {EXTERNAL LOCATION} | () | -| dereference.rs:233:5:233:38 | explicit_polymorphic_dereference(...) | | {EXTERNAL LOCATION} | () | -| dereference.rs:234:5:234:30 | explicit_ref_dereference(...) | | {EXTERNAL LOCATION} | () | -| dereference.rs:235:5:235:30 | explicit_box_dereference(...) | | {EXTERNAL LOCATION} | () | -| dereference.rs:236:5:236:26 | implicit_dereference(...) | | {EXTERNAL LOCATION} | () | -| dereference.rs:237:5:237:41 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| dereference.rs:238:5:238:26 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| dereference.rs:239:5:239:34 | ...::main(...) | | {EXTERNAL LOCATION} | () | | dyn_type.rs:7:10:7:14 | SelfParam | | {EXTERNAL LOCATION} | & | | dyn_type.rs:7:10:7:14 | SelfParam | TRef | dyn_type.rs:5:1:8:1 | Self [trait MyTrait1] | | dyn_type.rs:12:12:12:16 | SelfParam | | {EXTERNAL LOCATION} | & | @@ -1116,25 +980,19 @@ inferCertainType | dyn_type.rs:18:12:18:16 | SelfParam | TRef | dyn_type.rs:15:1:19:1 | Self [trait AssocTrait] | | dyn_type.rs:28:10:28:14 | SelfParam | | {EXTERNAL LOCATION} | & | | dyn_type.rs:28:10:28:14 | SelfParam | TRef | dyn_type.rs:21:1:24:1 | MyStruct | -| dyn_type.rs:28:27:30:5 | { ... } | | {EXTERNAL LOCATION} | String | | dyn_type.rs:29:17:29:30 | "MyTrait1: {}" | | {EXTERNAL LOCATION} | & | | dyn_type.rs:29:17:29:30 | "MyTrait1: {}" | TRef | {EXTERNAL LOCATION} | str | -| dyn_type.rs:29:17:29:42 | ...::format(...) | | {EXTERNAL LOCATION} | String | | dyn_type.rs:29:33:29:36 | self | | {EXTERNAL LOCATION} | & | | dyn_type.rs:29:33:29:36 | self | TRef | dyn_type.rs:21:1:24:1 | MyStruct | | dyn_type.rs:40:12:40:16 | SelfParam | | {EXTERNAL LOCATION} | & | | dyn_type.rs:40:12:40:16 | SelfParam | TRef | dyn_type.rs:33:1:36:1 | GenStruct | | dyn_type.rs:40:12:40:16 | SelfParam | TRef.A | dyn_type.rs:38:6:38:21 | A | -| dyn_type.rs:40:24:42:5 | { ... } | | dyn_type.rs:38:6:38:21 | A | | dyn_type.rs:41:9:41:12 | self | | {EXTERNAL LOCATION} | & | | dyn_type.rs:41:9:41:12 | self | TRef | dyn_type.rs:33:1:36:1 | GenStruct | | dyn_type.rs:41:9:41:12 | self | TRef.A | dyn_type.rs:38:6:38:21 | A | | dyn_type.rs:51:12:51:16 | SelfParam | | {EXTERNAL LOCATION} | & | | dyn_type.rs:51:12:51:16 | SelfParam | TRef | dyn_type.rs:33:1:36:1 | GenStruct | | dyn_type.rs:51:12:51:16 | SelfParam | TRef.A | dyn_type.rs:45:6:45:8 | GGP | -| dyn_type.rs:51:34:53:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| dyn_type.rs:51:34:53:5 | { ... } | T0 | dyn_type.rs:45:6:45:8 | GGP | -| dyn_type.rs:51:34:53:5 | { ... } | T1 | {EXTERNAL LOCATION} | bool | | dyn_type.rs:52:9:52:34 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | | dyn_type.rs:52:10:52:13 | self | | {EXTERNAL LOCATION} | & | | dyn_type.rs:52:10:52:13 | self | TRef | dyn_type.rs:33:1:36:1 | GenStruct | @@ -1142,16 +1000,9 @@ inferCertainType | dyn_type.rs:52:30:52:33 | true | | {EXTERNAL LOCATION} | bool | | dyn_type.rs:56:40:56:40 | a | | {EXTERNAL LOCATION} | & | | dyn_type.rs:56:40:56:40 | a | TRef | dyn_type.rs:56:13:56:37 | G | -| dyn_type.rs:56:52:58:1 | { ... } | | dyn_type.rs:56:10:56:10 | A | | dyn_type.rs:57:5:57:5 | a | | {EXTERNAL LOCATION} | & | | dyn_type.rs:57:5:57:5 | a | TRef | dyn_type.rs:56:13:56:37 | G | | dyn_type.rs:60:46:60:46 | a | | dyn_type.rs:60:18:60:43 | A | -| dyn_type.rs:60:78:62:1 | { ... } | | {EXTERNAL LOCATION} | Box | -| dyn_type.rs:60:78:62:1 | { ... } | A | {EXTERNAL LOCATION} | Global | -| dyn_type.rs:60:78:62:1 | { ... } | T | dyn_type.rs:10:1:13:1 | dyn GenericGet | -| dyn_type.rs:60:78:62:1 | { ... } | T.dyn(A) | dyn_type.rs:60:18:60:43 | A | -| dyn_type.rs:61:5:61:36 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| dyn_type.rs:61:5:61:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | dyn_type.rs:61:14:61:35 | GenStruct {...} | | dyn_type.rs:33:1:36:1 | GenStruct | | dyn_type.rs:61:33:61:33 | a | | dyn_type.rs:60:18:60:43 | A | | dyn_type.rs:64:25:64:27 | obj | | {EXTERNAL LOCATION} | & | @@ -1170,32 +1021,17 @@ inferCertainType | dyn_type.rs:70:26:70:28 | obj | TRef | dyn_type.rs:10:1:13:1 | dyn GenericGet | | dyn_type.rs:70:26:70:28 | obj | TRef.dyn(A) | {EXTERNAL LOCATION} | String | | dyn_type.rs:73:26:76:1 | { ... } | | {EXTERNAL LOCATION} | () | -| dyn_type.rs:74:9:74:11 | obj | | {EXTERNAL LOCATION} | Box | -| dyn_type.rs:74:9:74:11 | obj | A | {EXTERNAL LOCATION} | Global | -| dyn_type.rs:74:9:74:11 | obj | T | dyn_type.rs:10:1:13:1 | dyn GenericGet | -| dyn_type.rs:74:15:74:33 | get_box_trait(...) | | {EXTERNAL LOCATION} | Box | -| dyn_type.rs:74:15:74:33 | get_box_trait(...) | A | {EXTERNAL LOCATION} | Global | -| dyn_type.rs:74:15:74:33 | get_box_trait(...) | T | dyn_type.rs:10:1:13:1 | dyn GenericGet | | dyn_type.rs:74:29:74:32 | true | | {EXTERNAL LOCATION} | bool | -| dyn_type.rs:75:21:75:23 | obj | | {EXTERNAL LOCATION} | Box | -| dyn_type.rs:75:21:75:23 | obj | A | {EXTERNAL LOCATION} | Global | -| dyn_type.rs:75:21:75:23 | obj | T | dyn_type.rs:10:1:13:1 | dyn GenericGet | | dyn_type.rs:78:24:78:24 | a | | {EXTERNAL LOCATION} | & | | dyn_type.rs:78:24:78:24 | a | TRef | dyn_type.rs:15:1:19:1 | dyn AssocTrait | | dyn_type.rs:78:24:78:24 | a | TRef.dyn(AP) | dyn_type.rs:78:21:78:21 | B | | dyn_type.rs:78:24:78:24 | a | TRef.dyn(GP) | dyn_type.rs:78:18:78:18 | A | -| dyn_type.rs:78:65:80:1 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| dyn_type.rs:78:65:80:1 | { ... } | T0 | dyn_type.rs:78:18:78:18 | A | -| dyn_type.rs:78:65:80:1 | { ... } | T1 | dyn_type.rs:78:21:78:21 | B | | dyn_type.rs:79:5:79:5 | a | | {EXTERNAL LOCATION} | & | | dyn_type.rs:79:5:79:5 | a | TRef | dyn_type.rs:15:1:19:1 | dyn AssocTrait | | dyn_type.rs:79:5:79:5 | a | TRef.dyn(AP) | dyn_type.rs:78:21:78:21 | B | | dyn_type.rs:79:5:79:5 | a | TRef.dyn(GP) | dyn_type.rs:78:18:78:18 | A | | dyn_type.rs:82:55:82:55 | a | | {EXTERNAL LOCATION} | & | | dyn_type.rs:82:55:82:55 | a | TRef | dyn_type.rs:82:20:82:52 | T | -| dyn_type.rs:82:72:84:1 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| dyn_type.rs:82:72:84:1 | { ... } | T0 | dyn_type.rs:82:14:82:14 | A | -| dyn_type.rs:82:72:84:1 | { ... } | T1 | dyn_type.rs:82:17:82:17 | B | | dyn_type.rs:83:5:83:5 | a | | {EXTERNAL LOCATION} | & | | dyn_type.rs:83:5:83:5 | a | TRef | dyn_type.rs:82:20:82:52 | T | | dyn_type.rs:86:20:86:22 | obj | | {EXTERNAL LOCATION} | & | @@ -1209,45 +1045,36 @@ inferCertainType | dyn_type.rs:90:11:90:13 | obj | TRef.dyn(AP) | {EXTERNAL LOCATION} | bool | | dyn_type.rs:90:11:90:13 | obj | TRef.dyn(GP) | {EXTERNAL LOCATION} | i64 | | dyn_type.rs:91:9:94:5 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| dyn_type.rs:94:9:94:26 | assoc_dyn_get(...) | | {EXTERNAL LOCATION} | (T_2) | | dyn_type.rs:94:23:94:25 | obj | | {EXTERNAL LOCATION} | & | | dyn_type.rs:94:23:94:25 | obj | TRef | dyn_type.rs:15:1:19:1 | dyn AssocTrait | | dyn_type.rs:94:23:94:25 | obj | TRef.dyn(AP) | {EXTERNAL LOCATION} | bool | | dyn_type.rs:94:23:94:25 | obj | TRef.dyn(GP) | {EXTERNAL LOCATION} | i64 | | dyn_type.rs:95:9:98:5 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| dyn_type.rs:98:9:98:22 | assoc_get(...) | | {EXTERNAL LOCATION} | (T_2) | | dyn_type.rs:98:19:98:21 | obj | | {EXTERNAL LOCATION} | & | | dyn_type.rs:98:19:98:21 | obj | TRef | dyn_type.rs:15:1:19:1 | dyn AssocTrait | | dyn_type.rs:98:19:98:21 | obj | TRef.dyn(AP) | {EXTERNAL LOCATION} | bool | | dyn_type.rs:98:19:98:21 | obj | TRef.dyn(GP) | {EXTERNAL LOCATION} | i64 | | dyn_type.rs:101:15:108:1 | { ... } | | {EXTERNAL LOCATION} | () | -| dyn_type.rs:102:5:102:49 | test_basic_dyn_trait(...) | | {EXTERNAL LOCATION} | () | | dyn_type.rs:102:26:102:48 | &... | | {EXTERNAL LOCATION} | & | | dyn_type.rs:102:27:102:48 | MyStruct {...} | | dyn_type.rs:21:1:24:1 | MyStruct | -| dyn_type.rs:103:5:105:6 | test_generic_dyn_trait(...) | | {EXTERNAL LOCATION} | () | | dyn_type.rs:103:28:105:5 | &... | | {EXTERNAL LOCATION} | & | | dyn_type.rs:103:29:105:5 | GenStruct {...} | | dyn_type.rs:33:1:36:1 | GenStruct | | dyn_type.rs:104:16:104:17 | "" | | {EXTERNAL LOCATION} | & | | dyn_type.rs:104:16:104:17 | "" | TRef | {EXTERNAL LOCATION} | str | -| dyn_type.rs:106:5:106:25 | test_poly_dyn_trait(...) | | {EXTERNAL LOCATION} | () | -| dyn_type.rs:107:5:107:46 | test_assoc_type(...) | | {EXTERNAL LOCATION} | () | | dyn_type.rs:107:21:107:45 | &... | | {EXTERNAL LOCATION} | & | | dyn_type.rs:107:22:107:45 | GenStruct {...} | | dyn_type.rs:33:1:36:1 | GenStruct | | invalid/main.rs:8:16:8:19 | SelfParam | | invalid/main.rs:7:5:9:5 | Self [trait T1] | | invalid/main.rs:8:22:8:23 | { ... } | | {EXTERNAL LOCATION} | () | | invalid/main.rs:12:16:12:19 | SelfParam | | invalid/main.rs:11:5:15:5 | Self [trait T2] | -| invalid/main.rs:12:22:14:9 | { ... } | | {EXTERNAL LOCATION} | () | | invalid/main.rs:13:13:13:16 | self | | invalid/main.rs:11:5:15:5 | Self [trait T2] | | invalid/main.rs:25:22:25:25 | SelfParam | | invalid/main.rs:24:5:26:5 | Self [trait AddAlias] | | invalid/main.rs:25:28:25:32 | other | | invalid/main.rs:24:5:26:5 | Self [trait AddAlias] | | invalid/main.rs:29:22:29:25 | SelfParam | | invalid/main.rs:21:5:22:20 | Num | | invalid/main.rs:29:28:29:32 | other | | invalid/main.rs:21:5:22:20 | Num | -| invalid/main.rs:29:49:31:9 | { ... } | | invalid/main.rs:21:5:22:20 | Num | | invalid/main.rs:30:17:30:20 | self | | invalid/main.rs:21:5:22:20 | Num | | invalid/main.rs:30:26:30:30 | other | | invalid/main.rs:21:5:22:20 | Num | | invalid/main.rs:39:16:39:19 | SelfParam | | invalid/main.rs:35:10:35:20 | T | | invalid/main.rs:39:22:39:26 | other | | invalid/main.rs:35:10:35:20 | T | -| invalid/main.rs:39:43:41:9 | { ... } | | invalid/main.rs:35:10:35:20 | T | | invalid/main.rs:40:13:40:16 | self | | invalid/main.rs:35:10:35:20 | T | | invalid/main.rs:40:28:40:32 | other | | invalid/main.rs:35:10:35:20 | T | | invalid/main.rs:44:30:49:5 | { ... } | | {EXTERNAL LOCATION} | () | @@ -1257,17 +1084,14 @@ inferCertainType | invalid/main.rs:61:22:61:26 | SelfParam | TRef | invalid/main.rs:60:5:64:5 | Self [trait Duplicatable] | | invalid/main.rs:68:19:68:23 | SelfParam | | {EXTERNAL LOCATION} | & | | invalid/main.rs:68:19:68:23 | SelfParam | TRef | invalid/main.rs:53:5:54:14 | S1 | -| invalid/main.rs:68:34:70:9 | { ... } | | invalid/main.rs:53:5:54:14 | S1 | | invalid/main.rs:69:14:69:17 | self | | {EXTERNAL LOCATION} | & | | invalid/main.rs:69:14:69:17 | self | TRef | invalid/main.rs:53:5:54:14 | S1 | | invalid/main.rs:75:22:75:26 | SelfParam | | {EXTERNAL LOCATION} | & | | invalid/main.rs:75:22:75:26 | SelfParam | TRef | invalid/main.rs:53:5:54:14 | S1 | -| invalid/main.rs:75:37:77:9 | { ... } | | invalid/main.rs:53:5:54:14 | S1 | | invalid/main.rs:76:14:76:17 | self | | {EXTERNAL LOCATION} | & | | invalid/main.rs:76:14:76:17 | self | TRef | invalid/main.rs:53:5:54:14 | S1 | | invalid/main.rs:83:22:83:26 | SelfParam | | {EXTERNAL LOCATION} | & | | invalid/main.rs:83:22:83:26 | SelfParam | TRef | invalid/main.rs:81:10:81:18 | T | -| invalid/main.rs:83:37:85:9 | { ... } | | invalid/main.rs:81:10:81:18 | T | | invalid/main.rs:84:13:84:16 | self | | {EXTERNAL LOCATION} | & | | invalid/main.rs:84:13:84:16 | self | TRef | invalid/main.rs:81:10:81:18 | T | | invalid/main.rs:88:33:92:5 | { ... } | | {EXTERNAL LOCATION} | () | @@ -1276,7 +1100,6 @@ inferCertainType | main.rs:26:17:26:32 | MyThing {...} | | main.rs:5:5:8:5 | MyThing | | main.rs:27:18:27:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:27:18:27:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:27:18:27:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:27:18:27:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:27:26:27:26 | x | | main.rs:5:5:8:5 | MyThing | | main.rs:30:29:30:29 | x | | main.rs:16:5:19:5 | GenericThing | @@ -1286,7 +1109,6 @@ inferCertainType | main.rs:31:17:31:17 | x | A | {EXTERNAL LOCATION} | bool | | main.rs:32:18:32:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:32:18:32:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:32:18:32:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:32:18:32:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:35:31:63:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:37:13:37:13 | x | | main.rs:16:5:19:5 | GenericThing | @@ -1295,7 +1117,6 @@ inferCertainType | main.rs:37:17:37:42 | GenericThing::<...> {...} | A | main.rs:3:5:4:13 | S | | main.rs:38:18:38:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:38:18:38:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:38:18:38:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:38:18:38:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:38:26:38:26 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:38:26:38:26 | x | A | main.rs:3:5:4:13 | S | @@ -1303,7 +1124,6 @@ inferCertainType | main.rs:41:17:41:37 | GenericThing {...} | | main.rs:16:5:19:5 | GenericThing | | main.rs:42:18:42:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:42:18:42:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:42:18:42:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:42:18:42:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:42:26:42:26 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:42:26:42:26 | x | A | main.rs:3:5:4:13 | S | @@ -1311,7 +1131,6 @@ inferCertainType | main.rs:46:17:48:9 | OptionS {...} | | main.rs:21:5:23:5 | OptionS | | main.rs:49:18:49:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:49:18:49:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:49:18:49:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:49:18:49:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:49:26:49:26 | x | | main.rs:21:5:23:5 | OptionS | | main.rs:52:13:52:13 | x | | main.rs:16:5:19:5 | GenericThing | @@ -1322,7 +1141,6 @@ inferCertainType | main.rs:52:17:54:9 | GenericThing::<...> {...} | A.T | main.rs:3:5:4:13 | S | | main.rs:55:18:55:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:55:18:55:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:55:18:55:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:55:18:55:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:55:26:55:26 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:55:26:55:26 | x | A | main.rs:10:5:14:5 | MyOption | @@ -1334,23 +1152,16 @@ inferCertainType | main.rs:61:30:61:30 | x | | main.rs:16:5:19:5 | GenericThing | | main.rs:62:18:62:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:62:18:62:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:62:18:62:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:62:18:62:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:62:26:62:26 | a | | main.rs:10:5:14:5 | MyOption | | main.rs:62:26:62:26 | a | T | main.rs:3:5:4:13 | S | | main.rs:65:16:68:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:66:9:66:29 | simple_field_access(...) | | {EXTERNAL LOCATION} | () | -| main.rs:67:9:67:30 | generic_field_access(...) | | {EXTERNAL LOCATION} | () | | main.rs:75:19:75:22 | SelfParam | | main.rs:72:5:72:21 | Foo | -| main.rs:75:33:77:9 | { ... } | | main.rs:72:5:72:21 | Foo | | main.rs:76:13:76:16 | self | | main.rs:72:5:72:21 | Foo | | main.rs:79:19:79:22 | SelfParam | | main.rs:72:5:72:21 | Foo | -| main.rs:79:32:81:9 | { ... } | | main.rs:72:5:72:21 | Foo | | main.rs:80:13:80:16 | self | | main.rs:72:5:72:21 | Foo | -| main.rs:84:23:89:5 | { ... } | | main.rs:72:5:72:21 | Foo | | main.rs:85:18:85:33 | "main.rs::m1::f\\n" | | {EXTERNAL LOCATION} | & | | main.rs:85:18:85:33 | "main.rs::m1::f\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:85:18:85:33 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:85:18:85:33 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:86:13:86:13 | x | | main.rs:72:5:72:21 | Foo | | main.rs:86:17:86:22 | Foo {...} | | main.rs:72:5:72:21 | Foo | @@ -1358,17 +1169,13 @@ inferCertainType | main.rs:88:9:88:9 | x | | main.rs:72:5:72:21 | Foo | | main.rs:91:14:91:14 | x | | main.rs:72:5:72:21 | Foo | | main.rs:91:22:91:22 | y | | main.rs:72:5:72:21 | Foo | -| main.rs:91:37:95:5 | { ... } | | main.rs:72:5:72:21 | Foo | | main.rs:92:18:92:33 | "main.rs::m1::g\\n" | | {EXTERNAL LOCATION} | & | | main.rs:92:18:92:33 | "main.rs::m1::g\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:92:18:92:33 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:92:18:92:33 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:93:9:93:9 | x | | main.rs:72:5:72:21 | Foo | | main.rs:94:9:94:9 | y | | main.rs:72:5:72:21 | Foo | -| main.rs:102:30:105:9 | { ... } | | main.rs:99:5:99:29 | ATupleStruct | | main.rs:116:25:116:28 | SelfParam | | main.rs:115:5:117:5 | Self [trait MyTrait] | | main.rs:121:25:121:28 | SelfParam | | main.rs:110:5:113:5 | MyThing | -| main.rs:121:39:123:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:122:13:122:16 | self | | main.rs:110:5:113:5 | MyThing | | main.rs:126:16:135:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:127:13:127:13 | x | | main.rs:110:5:113:5 | MyThing | @@ -1388,40 +1195,31 @@ inferCertainType | main.rs:144:32:146:13 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:145:26:145:31 | "foo!\\n" | | {EXTERNAL LOCATION} | & | | main.rs:145:26:145:31 | "foo!\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:145:26:145:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:145:26:145:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:151:25:151:29 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:151:25:151:29 | SelfParam | TRef | main.rs:149:9:154:9 | Self [trait Bar] | | main.rs:151:32:153:13 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:152:26:152:31 | "bar!\\n" | | {EXTERNAL LOCATION} | & | | main.rs:152:26:152:31 | "bar!\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:152:26:152:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:152:26:152:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:163:15:184:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:165:9:168:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:169:9:172:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:173:9:176:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:177:9:183:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:181:13:181:29 | ...::a_method(...) | | {EXTERNAL LOCATION} | () | | main.rs:181:27:181:28 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:182:13:182:29 | ...::a_method(...) | | {EXTERNAL LOCATION} | () | | main.rs:182:27:182:28 | &x | | {EXTERNAL LOCATION} | & | | main.rs:200:15:200:18 | SelfParam | | main.rs:188:5:191:5 | MyThing | | main.rs:200:15:200:18 | SelfParam | A | main.rs:193:5:194:14 | S1 | -| main.rs:200:27:202:9 | { ... } | | main.rs:193:5:194:14 | S1 | | main.rs:201:13:201:16 | self | | main.rs:188:5:191:5 | MyThing | | main.rs:201:13:201:16 | self | A | main.rs:193:5:194:14 | S1 | | main.rs:207:15:207:18 | SelfParam | | main.rs:188:5:191:5 | MyThing | | main.rs:207:15:207:18 | SelfParam | A | main.rs:195:5:196:14 | S2 | -| main.rs:207:29:209:9 | { ... } | | main.rs:188:5:191:5 | MyThing | -| main.rs:207:29:209:9 | { ... } | A | main.rs:195:5:196:14 | S2 | | main.rs:208:13:208:30 | Self {...} | | main.rs:188:5:191:5 | MyThing | | main.rs:208:13:208:30 | Self {...} | A | main.rs:195:5:196:14 | S2 | | main.rs:208:23:208:26 | self | | main.rs:188:5:191:5 | MyThing | | main.rs:208:23:208:26 | self | A | main.rs:195:5:196:14 | S2 | | main.rs:213:15:213:18 | SelfParam | | main.rs:188:5:191:5 | MyThing | | main.rs:213:15:213:18 | SelfParam | A | main.rs:212:10:212:10 | T | -| main.rs:213:26:215:9 | { ... } | | main.rs:212:10:212:10 | T | | main.rs:214:13:214:16 | self | | main.rs:188:5:191:5 | MyThing | | main.rs:214:13:214:16 | self | A | main.rs:212:10:212:10 | T | | main.rs:218:16:234:5 | { ... } | | {EXTERNAL LOCATION} | () | @@ -1431,22 +1229,18 @@ inferCertainType | main.rs:220:17:220:33 | MyThing {...} | | main.rs:188:5:191:5 | MyThing | | main.rs:223:18:223:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:223:18:223:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:223:18:223:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:223:18:223:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:223:26:223:26 | x | | main.rs:188:5:191:5 | MyThing | | main.rs:224:18:224:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:224:18:224:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:224:18:224:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:224:18:224:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:224:26:224:26 | y | | main.rs:188:5:191:5 | MyThing | | main.rs:226:18:226:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:226:18:226:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:226:18:226:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:226:18:226:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:226:26:226:26 | x | | main.rs:188:5:191:5 | MyThing | | main.rs:227:18:227:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:227:18:227:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:227:18:227:33 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:227:18:227:33 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:227:26:227:26 | y | | main.rs:188:5:191:5 | MyThing | | main.rs:229:13:229:13 | x | | main.rs:188:5:191:5 | MyThing | @@ -1455,64 +1249,50 @@ inferCertainType | main.rs:230:17:230:33 | MyThing {...} | | main.rs:188:5:191:5 | MyThing | | main.rs:232:18:232:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:232:18:232:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:232:18:232:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:232:18:232:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:232:26:232:26 | x | | main.rs:188:5:191:5 | MyThing | | main.rs:233:18:233:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:233:18:233:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:233:18:233:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:233:18:233:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:233:26:233:26 | y | | main.rs:188:5:191:5 | MyThing | | main.rs:257:15:257:18 | SelfParam | | main.rs:256:5:265:5 | Self [trait MyTrait] | | main.rs:259:15:259:18 | SelfParam | | main.rs:256:5:265:5 | Self [trait MyTrait] | -| main.rs:262:9:264:9 | { ... } | | main.rs:256:5:265:5 | Self [trait MyTrait] | | main.rs:263:13:263:16 | self | | main.rs:256:5:265:5 | Self [trait MyTrait] | | main.rs:268:15:268:18 | SelfParam | | main.rs:267:5:269:5 | Self [trait MyTrait2] | | main.rs:273:16:273:19 | SelfParam | | main.rs:271:5:276:5 | Self [trait MyProduct] | | main.rs:275:16:275:19 | SelfParam | | main.rs:271:5:276:5 | Self [trait MyProduct] | | main.rs:278:43:278:43 | x | | main.rs:278:26:278:40 | T2 | -| main.rs:278:56:280:5 | { ... } | | main.rs:278:22:278:23 | T1 | | main.rs:279:9:279:9 | x | | main.rs:278:26:278:40 | T2 | | main.rs:282:71:282:71 | x | | main.rs:282:53:282:68 | T3 | -| main.rs:282:84:284:5 | { ... } | | main.rs:282:32:282:33 | T1 | | main.rs:283:9:283:9 | x | | main.rs:282:53:282:68 | T3 | | main.rs:288:15:288:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | | main.rs:288:15:288:18 | SelfParam | A | main.rs:249:5:250:14 | S1 | -| main.rs:288:27:290:9 | { ... } | | main.rs:249:5:250:14 | S1 | | main.rs:289:13:289:16 | self | | main.rs:238:5:241:5 | MyThing | | main.rs:289:13:289:16 | self | A | main.rs:249:5:250:14 | S1 | | main.rs:295:15:295:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | | main.rs:295:15:295:18 | SelfParam | A | main.rs:251:5:252:14 | S2 | -| main.rs:295:29:297:9 | { ... } | | main.rs:238:5:241:5 | MyThing | -| main.rs:295:29:297:9 | { ... } | A | main.rs:251:5:252:14 | S2 | | main.rs:296:13:296:30 | Self {...} | | main.rs:238:5:241:5 | MyThing | | main.rs:296:13:296:30 | Self {...} | A | main.rs:251:5:252:14 | S2 | | main.rs:296:23:296:26 | self | | main.rs:238:5:241:5 | MyThing | | main.rs:296:23:296:26 | self | A | main.rs:251:5:252:14 | S2 | | main.rs:302:15:302:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | | main.rs:302:15:302:18 | SelfParam | A | main.rs:251:5:252:14 | S2 | -| main.rs:302:36:304:9 | { ... } | | main.rs:238:5:241:5 | MyThing | -| main.rs:302:36:304:9 | { ... } | A | main.rs:249:5:250:14 | S1 | | main.rs:303:13:303:29 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | | main.rs:314:15:314:18 | SelfParam | | main.rs:238:5:241:5 | MyThing | | main.rs:314:15:314:18 | SelfParam | A | main.rs:253:5:254:14 | S3 | -| main.rs:314:27:316:9 | { ... } | | main.rs:309:10:309:11 | TD | | main.rs:321:15:321:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | | main.rs:321:15:321:18 | SelfParam | P1 | main.rs:319:10:319:10 | I | | main.rs:321:15:321:18 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:321:26:323:9 | { ... } | | main.rs:319:10:319:10 | I | | main.rs:322:13:322:16 | self | | main.rs:243:5:247:5 | MyPair | | main.rs:322:13:322:16 | self | P1 | main.rs:319:10:319:10 | I | | main.rs:322:13:322:16 | self | P2 | main.rs:249:5:250:14 | S1 | | main.rs:328:15:328:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | | main.rs:328:15:328:18 | SelfParam | P1 | main.rs:249:5:250:14 | S1 | | main.rs:328:15:328:18 | SelfParam | P2 | main.rs:251:5:252:14 | S2 | -| main.rs:328:27:330:9 | { ... } | | main.rs:253:5:254:14 | S3 | | main.rs:335:15:335:18 | SelfParam | | main.rs:243:5:247:5 | MyPair | | main.rs:335:15:335:18 | SelfParam | P1 | main.rs:238:5:241:5 | MyThing | | main.rs:335:15:335:18 | SelfParam | P1.A | main.rs:333:10:333:11 | TT | | main.rs:335:15:335:18 | SelfParam | P2 | main.rs:253:5:254:14 | S3 | -| main.rs:335:27:338:9 | { ... } | | main.rs:333:10:333:11 | TT | | main.rs:336:25:336:28 | self | | main.rs:243:5:247:5 | MyPair | | main.rs:336:25:336:28 | self | P1 | main.rs:238:5:241:5 | MyThing | | main.rs:336:25:336:28 | self | P1.A | main.rs:333:10:333:11 | TT | @@ -1520,53 +1300,43 @@ inferCertainType | main.rs:344:16:344:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | | main.rs:344:16:344:19 | SelfParam | P1 | main.rs:342:10:342:10 | A | | main.rs:344:16:344:19 | SelfParam | P2 | main.rs:342:10:342:10 | A | -| main.rs:344:27:346:9 | { ... } | | main.rs:342:10:342:10 | A | | main.rs:345:13:345:16 | self | | main.rs:243:5:247:5 | MyPair | | main.rs:345:13:345:16 | self | P1 | main.rs:342:10:342:10 | A | | main.rs:345:13:345:16 | self | P2 | main.rs:342:10:342:10 | A | | main.rs:349:16:349:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | | main.rs:349:16:349:19 | SelfParam | P1 | main.rs:342:10:342:10 | A | | main.rs:349:16:349:19 | SelfParam | P2 | main.rs:342:10:342:10 | A | -| main.rs:349:27:351:9 | { ... } | | main.rs:342:10:342:10 | A | | main.rs:350:13:350:16 | self | | main.rs:243:5:247:5 | MyPair | | main.rs:350:13:350:16 | self | P1 | main.rs:342:10:342:10 | A | | main.rs:350:13:350:16 | self | P2 | main.rs:342:10:342:10 | A | | main.rs:357:16:357:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | | main.rs:357:16:357:19 | SelfParam | P1 | main.rs:251:5:252:14 | S2 | | main.rs:357:16:357:19 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:357:28:359:9 | { ... } | | main.rs:249:5:250:14 | S1 | | main.rs:358:13:358:16 | self | | main.rs:243:5:247:5 | MyPair | | main.rs:358:13:358:16 | self | P1 | main.rs:251:5:252:14 | S2 | | main.rs:358:13:358:16 | self | P2 | main.rs:249:5:250:14 | S1 | | main.rs:362:16:362:19 | SelfParam | | main.rs:243:5:247:5 | MyPair | | main.rs:362:16:362:19 | SelfParam | P1 | main.rs:251:5:252:14 | S2 | | main.rs:362:16:362:19 | SelfParam | P2 | main.rs:249:5:250:14 | S1 | -| main.rs:362:28:364:9 | { ... } | | main.rs:251:5:252:14 | S2 | | main.rs:363:13:363:16 | self | | main.rs:243:5:247:5 | MyPair | | main.rs:363:13:363:16 | self | P1 | main.rs:251:5:252:14 | S2 | | main.rs:363:13:363:16 | self | P2 | main.rs:249:5:250:14 | S1 | | main.rs:367:46:367:46 | p | | main.rs:367:24:367:43 | P | -| main.rs:367:58:369:5 | { ... } | | main.rs:367:16:367:17 | V1 | | main.rs:368:9:368:9 | p | | main.rs:367:24:367:43 | P | | main.rs:371:46:371:46 | p | | main.rs:371:24:371:43 | P | -| main.rs:371:58:373:5 | { ... } | | main.rs:371:20:371:21 | V2 | | main.rs:372:9:372:9 | p | | main.rs:371:24:371:43 | P | | main.rs:375:54:375:54 | p | | main.rs:243:5:247:5 | MyPair | | main.rs:375:54:375:54 | p | P1 | main.rs:375:20:375:21 | V0 | | main.rs:375:54:375:54 | p | P2 | main.rs:375:32:375:51 | P | -| main.rs:375:78:377:5 | { ... } | | main.rs:375:24:375:25 | V1 | | main.rs:376:9:376:9 | p | | main.rs:243:5:247:5 | MyPair | | main.rs:376:9:376:9 | p | P1 | main.rs:375:20:375:21 | V0 | | main.rs:376:9:376:9 | p | P2 | main.rs:375:32:375:51 | P | | main.rs:381:23:381:26 | SelfParam | | main.rs:379:5:382:5 | Self [trait ConvertTo] | | main.rs:386:23:386:26 | SelfParam | | main.rs:384:10:384:23 | T | -| main.rs:386:35:388:9 | { ... } | | main.rs:249:5:250:14 | S1 | | main.rs:387:13:387:16 | self | | main.rs:384:10:384:23 | T | | main.rs:391:41:391:45 | thing | | main.rs:391:23:391:38 | T | -| main.rs:391:57:393:5 | { ... } | | main.rs:391:19:391:20 | TS | | main.rs:392:9:392:13 | thing | | main.rs:391:23:391:38 | T | | main.rs:395:56:395:60 | thing | | main.rs:395:39:395:53 | TP | -| main.rs:395:73:398:5 | { ... } | | main.rs:249:5:250:14 | S1 | | main.rs:397:9:397:13 | thing | | main.rs:395:39:395:53 | TP | | main.rs:400:16:473:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:401:13:401:20 | thing_s1 | | main.rs:238:5:241:5 | MyThing | @@ -1577,33 +1347,28 @@ inferCertainType | main.rs:403:24:403:40 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | | main.rs:407:18:407:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:407:18:407:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:407:18:407:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:407:18:407:38 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:407:26:407:33 | thing_s1 | | main.rs:238:5:241:5 | MyThing | | main.rs:408:18:408:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:408:18:408:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:408:18:408:40 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:408:18:408:40 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:408:26:408:33 | thing_s2 | | main.rs:238:5:241:5 | MyThing | | main.rs:409:13:409:14 | s3 | | main.rs:253:5:254:14 | S3 | | main.rs:409:22:409:29 | thing_s3 | | main.rs:238:5:241:5 | MyThing | | main.rs:410:18:410:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:410:18:410:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:410:18:410:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:410:18:410:27 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:410:26:410:27 | s3 | | main.rs:253:5:254:14 | S3 | | main.rs:412:13:412:14 | p1 | | main.rs:243:5:247:5 | MyPair | | main.rs:412:18:412:42 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | | main.rs:413:18:413:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:413:18:413:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:413:18:413:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:413:18:413:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:413:26:413:27 | p1 | | main.rs:243:5:247:5 | MyPair | | main.rs:415:13:415:14 | p2 | | main.rs:243:5:247:5 | MyPair | | main.rs:415:18:415:42 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | | main.rs:416:18:416:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:416:18:416:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:416:18:416:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:416:18:416:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:416:26:416:27 | p2 | | main.rs:243:5:247:5 | MyPair | | main.rs:418:13:418:14 | p3 | | main.rs:243:5:247:5 | MyPair | @@ -1611,7 +1376,6 @@ inferCertainType | main.rs:419:17:419:33 | MyThing {...} | | main.rs:238:5:241:5 | MyThing | | main.rs:422:18:422:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:422:18:422:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:422:18:422:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:422:18:422:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:422:26:422:27 | p3 | | main.rs:243:5:247:5 | MyPair | | main.rs:425:13:425:13 | a | | main.rs:243:5:247:5 | MyPair | @@ -1619,58 +1383,48 @@ inferCertainType | main.rs:426:17:426:17 | a | | main.rs:243:5:247:5 | MyPair | | main.rs:427:18:427:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:427:18:427:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:427:18:427:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:427:18:427:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:428:17:428:17 | a | | main.rs:243:5:247:5 | MyPair | | main.rs:429:18:429:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:429:18:429:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:429:18:429:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:429:18:429:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:435:13:435:13 | b | | main.rs:243:5:247:5 | MyPair | | main.rs:435:17:435:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | | main.rs:436:17:436:17 | b | | main.rs:243:5:247:5 | MyPair | | main.rs:437:18:437:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:437:18:437:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:437:18:437:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:437:18:437:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:438:17:438:17 | b | | main.rs:243:5:247:5 | MyPair | | main.rs:439:18:439:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:439:18:439:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:439:18:439:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:439:18:439:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:443:31:443:38 | thing_s1 | | main.rs:238:5:241:5 | MyThing | | main.rs:444:18:444:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:444:18:444:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:444:18:444:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:444:18:444:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:445:31:445:38 | thing_s2 | | main.rs:238:5:241:5 | MyThing | | main.rs:446:18:446:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:446:18:446:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:446:18:446:28 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:446:18:446:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:449:13:449:13 | a | | main.rs:243:5:247:5 | MyPair | | main.rs:449:17:449:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | | main.rs:450:25:450:25 | a | | main.rs:243:5:247:5 | MyPair | | main.rs:451:18:451:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:451:18:451:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:451:18:451:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:451:18:451:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:452:25:452:25 | a | | main.rs:243:5:247:5 | MyPair | | main.rs:453:18:453:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:453:18:453:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:453:18:453:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:453:18:453:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:456:13:456:13 | b | | main.rs:243:5:247:5 | MyPair | | main.rs:456:17:456:41 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | | main.rs:457:25:457:25 | b | | main.rs:243:5:247:5 | MyPair | | main.rs:458:18:458:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:458:18:458:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:458:18:458:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:458:18:458:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:459:25:459:25 | b | | main.rs:243:5:247:5 | MyPair | | main.rs:460:18:460:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:460:18:460:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:460:18:460:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:460:18:460:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:462:13:462:13 | c | | main.rs:243:5:247:5 | MyPair | | main.rs:462:17:465:9 | MyPair {...} | | main.rs:243:5:247:5 | MyPair | @@ -1688,35 +1442,30 @@ inferCertainType | main.rs:501:18:501:18 | x | | main.rs:499:45:499:61 | T | | main.rs:502:18:502:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:502:18:502:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:502:18:502:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:502:18:502:27 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:505:65:505:65 | x | | main.rs:505:46:505:62 | T | | main.rs:505:71:509:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:507:18:507:18 | x | | main.rs:505:46:505:62 | T | | main.rs:508:18:508:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:508:18:508:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:508:18:508:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:508:18:508:27 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:511:49:511:49 | x | | main.rs:511:30:511:46 | T | | main.rs:511:55:514:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:512:17:512:17 | x | | main.rs:511:30:511:46 | T | | main.rs:513:18:513:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:513:18:513:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:513:18:513:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:513:18:513:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:516:53:516:53 | x | | main.rs:516:34:516:50 | T | | main.rs:516:59:519:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:517:17:517:17 | x | | main.rs:516:34:516:50 | T | | main.rs:518:18:518:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:518:18:518:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:518:18:518:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:518:18:518:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:521:43:521:43 | x | | main.rs:521:40:521:40 | T | | main.rs:524:5:527:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:525:17:525:17 | x | | main.rs:521:40:521:40 | T | | main.rs:526:18:526:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:526:18:526:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:526:18:526:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:526:18:526:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:530:16:530:19 | SelfParam | | main.rs:529:5:533:5 | Self [trait Pair] | | main.rs:532:16:532:19 | SelfParam | | main.rs:529:5:533:5 | Self [trait Pair] | @@ -1732,7 +1481,6 @@ inferCertainType | main.rs:547:18:547:18 | y | | main.rs:544:41:544:55 | T | | main.rs:548:18:548:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:548:18:548:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:548:18:548:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:548:18:548:37 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:551:69:551:69 | x | | main.rs:551:52:551:66 | T | | main.rs:551:75:551:75 | y | | main.rs:551:52:551:66 | T | @@ -1741,7 +1489,6 @@ inferCertainType | main.rs:554:18:554:18 | y | | main.rs:551:52:551:66 | T | | main.rs:555:18:555:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:555:18:555:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:555:18:555:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:555:18:555:37 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:558:50:558:50 | x | | main.rs:558:41:558:47 | T | | main.rs:558:56:558:56 | y | | main.rs:558:41:558:47 | T | @@ -1750,7 +1497,6 @@ inferCertainType | main.rs:561:18:561:18 | y | | main.rs:558:41:558:47 | T | | main.rs:562:18:562:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:562:18:562:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:562:18:562:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:562:18:562:37 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:565:54:565:54 | x | | main.rs:565:41:565:51 | T | | main.rs:565:60:565:60 | y | | main.rs:565:41:565:51 | T | @@ -1759,17 +1505,14 @@ inferCertainType | main.rs:568:18:568:18 | y | | main.rs:565:41:565:51 | T | | main.rs:569:18:569:29 | "{:?}, {:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:569:18:569:29 | "{:?}, {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:569:18:569:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:569:18:569:37 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:577:18:577:22 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:577:18:577:22 | SelfParam | TRef | main.rs:574:5:578:5 | Self [trait TraitWithSelfTp] | | main.rs:580:40:580:44 | thing | | {EXTERNAL LOCATION} | & | | main.rs:580:40:580:44 | thing | TRef | main.rs:580:17:580:37 | T | -| main.rs:580:56:582:5 | { ... } | | main.rs:580:14:580:14 | A | | main.rs:581:9:581:13 | thing | | {EXTERNAL LOCATION} | & | | main.rs:581:9:581:13 | thing | TRef | main.rs:580:17:580:37 | T | | main.rs:585:44:585:48 | thing | | main.rs:585:24:585:41 | S | -| main.rs:585:61:588:5 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:586:19:586:23 | thing | | main.rs:585:24:585:41 | S | | main.rs:593:55:593:59 | thing | | {EXTERNAL LOCATION} | & | | main.rs:593:55:593:59 | thing | TRef | main.rs:593:25:593:52 | S | @@ -1778,8 +1521,6 @@ inferCertainType | main.rs:595:25:595:29 | thing | TRef | main.rs:593:25:593:52 | S | | main.rs:604:18:604:22 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:604:18:604:22 | SelfParam | TRef | main.rs:598:5:600:5 | MyStruct | -| main.rs:604:41:606:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:604:41:606:9 | { ... } | T | main.rs:598:5:600:5 | MyStruct | | main.rs:605:18:605:47 | MyStruct {...} | | main.rs:598:5:600:5 | MyStruct | | main.rs:605:36:605:39 | self | | {EXTERNAL LOCATION} | & | | main.rs:605:36:605:39 | self | TRef | main.rs:598:5:600:5 | MyStruct | @@ -1790,60 +1531,45 @@ inferCertainType | main.rs:613:26:613:26 | s | | main.rs:598:5:600:5 | MyStruct | | main.rs:629:15:629:18 | SelfParam | | main.rs:628:5:639:5 | Self [trait MyTrait] | | main.rs:631:15:631:18 | SelfParam | | main.rs:628:5:639:5 | Self [trait MyTrait] | -| main.rs:634:9:636:9 | { ... } | | main.rs:628:19:628:19 | A | | main.rs:635:13:635:16 | self | | main.rs:628:5:639:5 | Self [trait MyTrait] | | main.rs:638:18:638:18 | x | | main.rs:628:5:639:5 | Self [trait MyTrait] | | main.rs:642:15:642:18 | SelfParam | | main.rs:625:5:626:14 | S2 | -| main.rs:642:26:644:9 | { ... } | | main.rs:641:10:641:19 | T | | main.rs:646:18:646:18 | x | | main.rs:625:5:626:14 | S2 | -| main.rs:646:32:648:9 | { ... } | | main.rs:641:10:641:19 | T | | main.rs:652:15:652:18 | SelfParam | | main.rs:623:5:624:14 | S1 | -| main.rs:652:28:654:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:656:18:656:18 | x | | main.rs:623:5:624:14 | S1 | -| main.rs:656:34:658:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:663:50:663:50 | x | | main.rs:663:26:663:47 | T2 | -| main.rs:663:63:666:5 | { ... } | | main.rs:663:22:663:23 | T1 | | main.rs:664:9:664:9 | x | | main.rs:663:26:663:47 | T2 | | main.rs:665:9:665:9 | x | | main.rs:663:26:663:47 | T2 | | main.rs:667:52:667:52 | x | | main.rs:667:28:667:49 | T2 | -| main.rs:667:65:671:5 | { ... } | | main.rs:667:24:667:25 | T1 | | main.rs:668:24:668:24 | x | | main.rs:667:28:667:49 | T2 | | main.rs:670:16:670:16 | x | | main.rs:667:28:667:49 | T2 | | main.rs:672:52:672:52 | x | | main.rs:672:28:672:49 | T2 | -| main.rs:672:65:676:5 | { ... } | | main.rs:672:24:672:25 | T1 | | main.rs:673:29:673:29 | x | | main.rs:672:28:672:49 | T2 | | main.rs:675:21:675:21 | x | | main.rs:672:28:672:49 | T2 | | main.rs:677:55:677:55 | x | | main.rs:677:31:677:52 | T2 | -| main.rs:677:68:681:5 | { ... } | | main.rs:677:27:677:28 | T1 | | main.rs:678:27:678:27 | x | | main.rs:677:31:677:52 | T2 | | main.rs:680:19:680:19 | x | | main.rs:677:31:677:52 | T2 | | main.rs:682:55:682:55 | x | | main.rs:682:31:682:52 | T2 | -| main.rs:682:68:686:5 | { ... } | | main.rs:682:27:682:28 | T1 | | main.rs:683:32:683:32 | x | | main.rs:682:31:682:52 | T2 | | main.rs:685:24:685:24 | x | | main.rs:682:31:682:52 | T2 | | main.rs:690:49:690:49 | x | | main.rs:618:5:621:5 | MyThing | | main.rs:690:49:690:49 | x | T | main.rs:690:32:690:46 | T2 | -| main.rs:690:71:692:5 | { ... } | | main.rs:690:28:690:29 | T1 | | main.rs:691:9:691:9 | x | | main.rs:618:5:621:5 | MyThing | | main.rs:691:9:691:9 | x | T | main.rs:690:32:690:46 | T2 | | main.rs:693:51:693:51 | x | | main.rs:618:5:621:5 | MyThing | | main.rs:693:51:693:51 | x | T | main.rs:693:34:693:48 | T2 | -| main.rs:693:73:695:5 | { ... } | | main.rs:693:30:693:31 | T1 | | main.rs:694:16:694:16 | x | | main.rs:618:5:621:5 | MyThing | | main.rs:694:16:694:16 | x | T | main.rs:693:34:693:48 | T2 | | main.rs:696:51:696:51 | x | | main.rs:618:5:621:5 | MyThing | | main.rs:696:51:696:51 | x | T | main.rs:696:34:696:48 | T2 | -| main.rs:696:73:698:5 | { ... } | | main.rs:696:30:696:31 | T1 | | main.rs:697:21:697:21 | x | | main.rs:618:5:621:5 | MyThing | | main.rs:697:21:697:21 | x | T | main.rs:696:34:696:48 | T2 | | main.rs:701:15:701:18 | SelfParam | | main.rs:618:5:621:5 | MyThing | | main.rs:701:15:701:18 | SelfParam | T | main.rs:700:10:700:10 | T | -| main.rs:701:26:703:9 | { ... } | | main.rs:700:10:700:10 | T | | main.rs:702:13:702:16 | self | | main.rs:618:5:621:5 | MyThing | | main.rs:702:13:702:16 | self | T | main.rs:700:10:700:10 | T | | main.rs:705:18:705:18 | x | | main.rs:618:5:621:5 | MyThing | | main.rs:705:18:705:18 | x | T | main.rs:700:10:700:10 | T | -| main.rs:705:32:707:9 | { ... } | | main.rs:700:10:700:10 | T | | main.rs:706:13:706:13 | x | | main.rs:618:5:621:5 | MyThing | | main.rs:706:13:706:13 | x | T | main.rs:700:10:700:10 | T | | main.rs:712:15:712:18 | SelfParam | | main.rs:710:5:713:5 | Self [trait MyTrait2] | @@ -1863,12 +1589,10 @@ inferCertainType | main.rs:727:17:727:33 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | | main.rs:729:18:729:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:729:18:729:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:729:18:729:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:729:18:729:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:729:26:729:26 | x | | main.rs:618:5:621:5 | MyThing | | main.rs:730:18:730:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:730:18:730:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:730:18:730:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:730:18:730:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:730:26:730:26 | y | | main.rs:618:5:621:5 | MyThing | | main.rs:732:13:732:13 | x | | main.rs:618:5:621:5 | MyThing | @@ -1877,12 +1601,10 @@ inferCertainType | main.rs:733:17:733:33 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | | main.rs:735:18:735:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:735:18:735:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:735:18:735:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:735:18:735:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:735:26:735:26 | x | | main.rs:618:5:621:5 | MyThing | | main.rs:736:18:736:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:736:18:736:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:736:18:736:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:736:18:736:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:736:26:736:26 | y | | main.rs:618:5:621:5 | MyThing | | main.rs:738:13:738:14 | x2 | | main.rs:618:5:621:5 | MyThing | @@ -1892,52 +1614,42 @@ inferCertainType | main.rs:741:31:741:32 | x2 | | main.rs:618:5:621:5 | MyThing | | main.rs:742:18:742:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:742:18:742:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:742:18:742:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:742:18:742:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:743:33:743:34 | x2 | | main.rs:618:5:621:5 | MyThing | | main.rs:744:18:744:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:744:18:744:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:744:18:744:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:744:18:744:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:745:33:745:34 | x2 | | main.rs:618:5:621:5 | MyThing | | main.rs:746:18:746:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:746:18:746:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:746:18:746:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:746:18:746:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:747:31:747:32 | y2 | | main.rs:618:5:621:5 | MyThing | | main.rs:748:18:748:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:748:18:748:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:748:18:748:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:748:18:748:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:749:33:749:34 | y2 | | main.rs:618:5:621:5 | MyThing | | main.rs:750:18:750:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:750:18:750:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:750:18:750:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:750:18:750:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:751:33:751:34 | y2 | | main.rs:618:5:621:5 | MyThing | | main.rs:752:18:752:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:752:18:752:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:752:18:752:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:752:18:752:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:753:36:753:37 | x2 | | main.rs:618:5:621:5 | MyThing | | main.rs:754:18:754:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:754:18:754:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:754:18:754:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:754:18:754:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:755:36:755:37 | x2 | | main.rs:618:5:621:5 | MyThing | | main.rs:756:18:756:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:756:18:756:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:756:18:756:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:756:18:756:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:757:36:757:37 | y2 | | main.rs:618:5:621:5 | MyThing | | main.rs:758:18:758:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:758:18:758:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:758:18:758:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:758:18:758:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:759:36:759:37 | y2 | | main.rs:618:5:621:5 | MyThing | | main.rs:760:18:760:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:760:18:760:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:760:18:760:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:760:18:760:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:762:13:762:14 | x3 | | main.rs:618:5:621:5 | MyThing | | main.rs:762:18:764:9 | MyThing {...} | | main.rs:618:5:621:5 | MyThing | @@ -1948,37 +1660,30 @@ inferCertainType | main.rs:769:37:769:38 | x3 | | main.rs:618:5:621:5 | MyThing | | main.rs:770:18:770:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:770:18:770:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:770:18:770:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:770:18:770:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:771:39:771:40 | x3 | | main.rs:618:5:621:5 | MyThing | | main.rs:772:18:772:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:772:18:772:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:772:18:772:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:772:18:772:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:773:39:773:40 | x3 | | main.rs:618:5:621:5 | MyThing | | main.rs:774:18:774:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:774:18:774:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:774:18:774:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:774:18:774:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:775:37:775:38 | y3 | | main.rs:618:5:621:5 | MyThing | | main.rs:776:18:776:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:776:18:776:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:776:18:776:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:776:18:776:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:777:39:777:40 | y3 | | main.rs:618:5:621:5 | MyThing | | main.rs:778:18:778:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:778:18:778:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:778:18:778:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:778:18:778:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:779:39:779:40 | y3 | | main.rs:618:5:621:5 | MyThing | | main.rs:780:18:780:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:780:18:780:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:780:18:780:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:780:18:780:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:782:13:782:13 | y | | {EXTERNAL LOCATION} | i32 | | main.rs:799:15:799:18 | SelfParam | | main.rs:787:5:791:5 | MyEnum | | main.rs:799:15:799:18 | SelfParam | A | main.rs:798:10:798:10 | T | -| main.rs:799:26:804:9 | { ... } | | main.rs:798:10:798:10 | T | | main.rs:800:19:800:22 | self | | main.rs:787:5:791:5 | MyEnum | | main.rs:800:19:800:22 | self | A | main.rs:798:10:798:10 | T | | main.rs:802:17:802:32 | ...::C2 {...} | | main.rs:787:5:791:5 | MyEnum | @@ -1987,47 +1692,38 @@ inferCertainType | main.rs:809:17:809:36 | ...::C2 {...} | | main.rs:787:5:791:5 | MyEnum | | main.rs:811:18:811:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:811:18:811:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:811:18:811:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:811:18:811:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:812:18:812:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:812:18:812:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:812:18:812:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:812:18:812:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:812:26:812:26 | y | | main.rs:787:5:791:5 | MyEnum | | main.rs:834:15:834:18 | SelfParam | | main.rs:832:5:835:5 | Self [trait MyTrait1] | | main.rs:839:15:839:19 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:839:15:839:19 | SelfParam | TRef | main.rs:837:5:849:5 | Self [trait MyTrait2] | -| main.rs:842:9:848:9 | { ... } | | main.rs:837:20:837:22 | Tr2 | | main.rs:844:17:844:20 | self | | {EXTERNAL LOCATION} | & | | main.rs:844:17:844:20 | self | TRef | main.rs:837:5:849:5 | Self [trait MyTrait2] | | main.rs:846:27:846:30 | self | | {EXTERNAL LOCATION} | & | | main.rs:846:27:846:30 | self | TRef | main.rs:837:5:849:5 | Self [trait MyTrait2] | | main.rs:853:15:853:18 | SelfParam | | main.rs:851:5:863:5 | Self [trait MyTrait3] | -| main.rs:856:9:862:9 | { ... } | | main.rs:851:20:851:22 | Tr3 | | main.rs:858:17:858:20 | self | | main.rs:851:5:863:5 | Self [trait MyTrait3] | | main.rs:860:26:860:30 | &self | | {EXTERNAL LOCATION} | & | | main.rs:860:27:860:30 | self | | main.rs:851:5:863:5 | Self [trait MyTrait3] | | main.rs:867:15:867:18 | SelfParam | | main.rs:817:5:820:5 | MyThing | | main.rs:867:15:867:18 | SelfParam | A | main.rs:865:10:865:10 | T | -| main.rs:867:26:869:9 | { ... } | | main.rs:865:10:865:10 | T | | main.rs:868:13:868:16 | self | | main.rs:817:5:820:5 | MyThing | | main.rs:868:13:868:16 | self | A | main.rs:865:10:865:10 | T | | main.rs:876:15:876:18 | SelfParam | | main.rs:822:5:825:5 | MyThing2 | | main.rs:876:15:876:18 | SelfParam | A | main.rs:874:10:874:10 | T | -| main.rs:876:35:878:9 | { ... } | | main.rs:817:5:820:5 | MyThing | -| main.rs:876:35:878:9 | { ... } | A | main.rs:874:10:874:10 | T | | main.rs:877:13:877:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | | main.rs:877:26:877:29 | self | | main.rs:822:5:825:5 | MyThing2 | | main.rs:877:26:877:29 | self | A | main.rs:874:10:874:10 | T | | main.rs:885:44:885:44 | x | | main.rs:885:26:885:41 | T2 | -| main.rs:885:57:887:5 | { ... } | | main.rs:885:22:885:23 | T1 | | main.rs:886:9:886:9 | x | | main.rs:885:26:885:41 | T2 | | main.rs:889:56:889:56 | x | | main.rs:889:39:889:53 | T | | main.rs:889:62:893:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:891:17:891:17 | x | | main.rs:889:39:889:53 | T | | main.rs:892:18:892:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:892:18:892:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:892:18:892:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:892:18:892:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:895:16:919:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:896:13:896:13 | x | | main.rs:817:5:820:5 | MyThing | @@ -2036,12 +1732,10 @@ inferCertainType | main.rs:897:17:897:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | | main.rs:899:18:899:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:899:18:899:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:899:18:899:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:899:18:899:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:899:26:899:26 | x | | main.rs:817:5:820:5 | MyThing | | main.rs:900:18:900:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:900:18:900:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:900:18:900:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:900:18:900:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:900:26:900:26 | y | | main.rs:817:5:820:5 | MyThing | | main.rs:902:13:902:13 | x | | main.rs:817:5:820:5 | MyThing | @@ -2050,12 +1744,10 @@ inferCertainType | main.rs:903:17:903:33 | MyThing {...} | | main.rs:817:5:820:5 | MyThing | | main.rs:905:18:905:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:905:18:905:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:905:18:905:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:905:18:905:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:905:26:905:26 | x | | main.rs:817:5:820:5 | MyThing | | main.rs:906:18:906:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:906:18:906:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:906:18:906:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:906:18:906:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:906:26:906:26 | y | | main.rs:817:5:820:5 | MyThing | | main.rs:908:13:908:13 | x | | main.rs:822:5:825:5 | MyThing2 | @@ -2064,12 +1756,10 @@ inferCertainType | main.rs:909:17:909:34 | MyThing2 {...} | | main.rs:822:5:825:5 | MyThing2 | | main.rs:911:18:911:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:911:18:911:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:911:18:911:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:911:18:911:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:911:26:911:26 | x | | main.rs:822:5:825:5 | MyThing2 | | main.rs:912:18:912:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:912:18:912:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:912:18:912:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:912:18:912:31 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:912:26:912:26 | y | | main.rs:822:5:825:5 | MyThing2 | | main.rs:914:13:914:13 | x | | main.rs:817:5:820:5 | MyThing | @@ -2080,54 +1770,36 @@ inferCertainType | main.rs:918:31:918:31 | x | | main.rs:822:5:825:5 | MyThing2 | | main.rs:935:22:935:22 | x | | {EXTERNAL LOCATION} | & | | main.rs:935:22:935:22 | x | TRef | main.rs:935:11:935:19 | T | -| main.rs:935:35:937:5 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:935:35:937:5 | { ... } | TRef | main.rs:935:11:935:19 | T | | main.rs:936:9:936:9 | x | | {EXTERNAL LOCATION} | & | | main.rs:936:9:936:9 | x | TRef | main.rs:935:11:935:19 | T | | main.rs:940:17:940:20 | SelfParam | | main.rs:925:5:926:14 | S1 | -| main.rs:940:29:942:9 | { ... } | | main.rs:928:5:929:14 | S2 | | main.rs:945:21:945:21 | x | | main.rs:945:13:945:14 | T1 | -| main.rs:948:5:950:5 | { ... } | | main.rs:945:17:945:18 | T2 | | main.rs:949:9:949:9 | x | | main.rs:945:13:945:14 | T1 | | main.rs:952:16:968:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:954:18:954:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:954:18:954:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:954:18:954:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:954:18:954:31 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:954:26:954:31 | id(...) | | {EXTERNAL LOCATION} | & | | main.rs:954:29:954:30 | &x | | {EXTERNAL LOCATION} | & | | main.rs:957:18:957:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:957:18:957:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:957:18:957:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:957:18:957:37 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:957:26:957:37 | id::<...>(...) | | {EXTERNAL LOCATION} | & | -| main.rs:957:26:957:37 | id::<...>(...) | TRef | main.rs:925:5:926:14 | S1 | | main.rs:957:35:957:36 | &x | | {EXTERNAL LOCATION} | & | | main.rs:961:18:961:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:961:18:961:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:961:18:961:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:961:18:961:44 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:961:26:961:44 | id::<...>(...) | | {EXTERNAL LOCATION} | & | -| main.rs:961:26:961:44 | id::<...>(...) | TRef | main.rs:931:5:931:25 | dyn Trait | | main.rs:961:42:961:43 | &x | | {EXTERNAL LOCATION} | & | -| main.rs:964:9:964:25 | into::<...>(...) | | main.rs:928:5:929:14 | S2 | | main.rs:967:13:967:13 | y | | main.rs:928:5:929:14 | S2 | | main.rs:981:22:981:25 | SelfParam | | main.rs:972:5:978:5 | PairOption | | main.rs:981:22:981:25 | SelfParam | Fst | main.rs:980:10:980:12 | Fst | | main.rs:981:22:981:25 | SelfParam | Snd | main.rs:980:15:980:17 | Snd | -| main.rs:981:35:988:9 | { ... } | | main.rs:980:15:980:17 | Snd | | main.rs:982:19:982:22 | self | | main.rs:972:5:978:5 | PairOption | | main.rs:982:19:982:22 | self | Fst | main.rs:980:10:980:12 | Fst | | main.rs:982:19:982:22 | self | Snd | main.rs:980:15:980:17 | Snd | -| main.rs:983:43:983:82 | MacroExpr | | file://:0:0:0:0 | ! | | main.rs:983:50:983:81 | "PairNone has no second elemen... | | {EXTERNAL LOCATION} | & | | main.rs:983:50:983:81 | "PairNone has no second elemen... | TRef | {EXTERNAL LOCATION} | str | -| main.rs:983:50:983:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | | main.rs:983:50:983:81 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:984:43:984:81 | MacroExpr | | file://:0:0:0:0 | ! | | main.rs:984:50:984:80 | "PairFst has no second element... | | {EXTERNAL LOCATION} | & | | main.rs:984:50:984:80 | "PairFst has no second element... | TRef | {EXTERNAL LOCATION} | str | -| main.rs:984:50:984:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | | main.rs:984:50:984:80 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1012:10:1012:10 | t | | main.rs:972:5:978:5 | PairOption | | main.rs:1012:10:1012:10 | t | Fst | main.rs:994:5:995:14 | S2 | @@ -2142,7 +1814,6 @@ inferCertainType | main.rs:1013:17:1013:17 | t | Snd.Snd | main.rs:997:5:998:14 | S3 | | main.rs:1014:18:1014:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1014:18:1014:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1014:18:1014:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1014:18:1014:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1025:16:1045:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1027:13:1027:14 | p1 | | main.rs:972:5:978:5 | PairOption | @@ -2150,7 +1821,6 @@ inferCertainType | main.rs:1027:13:1027:14 | p1 | Snd | main.rs:994:5:995:14 | S2 | | main.rs:1028:18:1028:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1028:18:1028:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1028:18:1028:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1028:18:1028:27 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1028:26:1028:27 | p1 | | main.rs:972:5:978:5 | PairOption | | main.rs:1028:26:1028:27 | p1 | Fst | main.rs:991:5:992:14 | S1 | @@ -2160,7 +1830,6 @@ inferCertainType | main.rs:1031:13:1031:14 | p2 | Snd | main.rs:994:5:995:14 | S2 | | main.rs:1032:18:1032:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1032:18:1032:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1032:18:1032:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1032:18:1032:27 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1032:26:1032:27 | p2 | | main.rs:972:5:978:5 | PairOption | | main.rs:1032:26:1032:27 | p2 | Fst | main.rs:991:5:992:14 | S1 | @@ -2169,7 +1838,6 @@ inferCertainType | main.rs:1035:13:1035:14 | p3 | Fst | main.rs:994:5:995:14 | S2 | | main.rs:1036:18:1036:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1036:18:1036:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1036:18:1036:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1036:18:1036:27 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1036:26:1036:27 | p3 | | main.rs:972:5:978:5 | PairOption | | main.rs:1036:26:1036:27 | p3 | Fst | main.rs:994:5:995:14 | S2 | @@ -2178,12 +1846,10 @@ inferCertainType | main.rs:1039:13:1039:14 | p3 | Snd | main.rs:997:5:998:14 | S3 | | main.rs:1040:18:1040:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1040:18:1040:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1040:18:1040:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1040:18:1040:27 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1040:26:1040:27 | p3 | | main.rs:972:5:978:5 | PairOption | | main.rs:1040:26:1040:27 | p3 | Fst | main.rs:994:5:995:14 | S2 | | main.rs:1040:26:1040:27 | p3 | Snd | main.rs:997:5:998:14 | S3 | -| main.rs:1042:9:1042:55 | g(...) | | {EXTERNAL LOCATION} | () | | main.rs:1044:13:1044:13 | x | | {EXTERNAL LOCATION} | Result | | main.rs:1044:13:1044:13 | x | E | main.rs:991:5:992:14 | S1 | | main.rs:1044:13:1044:13 | x | T | main.rs:1017:5:1017:34 | S4 | @@ -2205,90 +1871,53 @@ inferCertainType | main.rs:1066:16:1066:24 | SelfParam | TRefMut.T | main.rs:1064:10:1064:10 | T | | main.rs:1066:27:1066:31 | value | | main.rs:1064:10:1064:10 | T | | main.rs:1066:37:1066:38 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1070:26:1072:9 | { ... } | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1070:26:1072:9 | { ... } | T | main.rs:1069:10:1069:10 | T | | main.rs:1076:20:1076:23 | SelfParam | | main.rs:1049:5:1053:5 | MyOption | | main.rs:1076:20:1076:23 | SelfParam | T | main.rs:1049:5:1053:5 | MyOption | | main.rs:1076:20:1076:23 | SelfParam | T.T | main.rs:1075:10:1075:10 | T | -| main.rs:1076:41:1081:9 | { ... } | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1076:41:1081:9 | { ... } | T | main.rs:1075:10:1075:10 | T | | main.rs:1077:19:1077:22 | self | | main.rs:1049:5:1053:5 | MyOption | | main.rs:1077:19:1077:22 | self | T | main.rs:1049:5:1053:5 | MyOption | | main.rs:1077:19:1077:22 | self | T.T | main.rs:1075:10:1075:10 | T | | main.rs:1087:16:1132:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1088:13:1088:14 | x1 | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1088:13:1088:14 | x1 | T | main.rs:1084:5:1085:13 | S | -| main.rs:1088:18:1088:37 | ...::new(...) | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1088:18:1088:37 | ...::new(...) | T | main.rs:1084:5:1085:13 | S | | main.rs:1089:18:1089:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1089:18:1089:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1089:18:1089:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1089:18:1089:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1089:26:1089:27 | x1 | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1089:26:1089:27 | x1 | T | main.rs:1084:5:1085:13 | S | -| main.rs:1091:17:1091:18 | x2 | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1091:22:1091:36 | ...::new(...) | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1092:9:1092:10 | x2 | | main.rs:1049:5:1053:5 | MyOption | | main.rs:1093:18:1093:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1093:18:1093:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1093:18:1093:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1093:18:1093:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1093:26:1093:27 | x2 | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1095:17:1095:18 | x3 | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1095:22:1095:36 | ...::new(...) | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1096:9:1096:10 | x3 | | main.rs:1049:5:1053:5 | MyOption | | main.rs:1097:18:1097:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1097:18:1097:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1097:18:1097:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1097:18:1097:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1097:26:1097:27 | x3 | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1099:17:1099:18 | x4 | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1099:22:1099:36 | ...::new(...) | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1100:9:1100:33 | ...::set(...) | | {EXTERNAL LOCATION} | () | | main.rs:1100:23:1100:29 | &mut x4 | | {EXTERNAL LOCATION} | &mut | -| main.rs:1100:28:1100:29 | x4 | | main.rs:1049:5:1053:5 | MyOption | | main.rs:1101:18:1101:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1101:18:1101:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1101:18:1101:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1101:18:1101:27 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1101:26:1101:27 | x4 | | main.rs:1049:5:1053:5 | MyOption | | main.rs:1104:18:1104:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1104:18:1104:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1104:18:1104:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1104:18:1104:37 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1107:18:1107:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1107:18:1107:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1107:18:1107:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1107:18:1107:61 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1107:26:1107:61 | ...::flatten(...) | | main.rs:1049:5:1053:5 | MyOption | -| main.rs:1107:26:1107:61 | ...::flatten(...) | T | main.rs:1084:5:1085:13 | S | | main.rs:1115:18:1115:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1115:18:1115:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1115:18:1115:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1115:18:1115:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1119:13:1119:16 | true | | {EXTERNAL LOCATION} | bool | | main.rs:1120:13:1120:17 | false | | {EXTERNAL LOCATION} | bool | | main.rs:1122:18:1122:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1122:18:1122:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1122:18:1122:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1122:18:1122:35 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1125:30:1130:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1126:13:1128:13 | if ... {...} | | {EXTERNAL LOCATION} | () | | main.rs:1126:22:1128:13 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1131:18:1131:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1131:18:1131:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1131:18:1131:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1131:18:1131:34 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1149:15:1149:18 | SelfParam | | main.rs:1137:5:1138:19 | S | | main.rs:1149:15:1149:18 | SelfParam | T | main.rs:1148:10:1148:10 | T | -| main.rs:1149:26:1151:9 | { ... } | | main.rs:1148:10:1148:10 | T | | main.rs:1150:13:1150:16 | self | | main.rs:1137:5:1138:19 | S | | main.rs:1150:13:1150:16 | self | T | main.rs:1148:10:1148:10 | T | | main.rs:1153:15:1153:19 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1153:15:1153:19 | SelfParam | TRef | main.rs:1137:5:1138:19 | S | | main.rs:1153:15:1153:19 | SelfParam | TRef.T | main.rs:1148:10:1148:10 | T | -| main.rs:1153:28:1155:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1153:28:1155:9 | { ... } | TRef | main.rs:1148:10:1148:10 | T | | main.rs:1154:13:1154:19 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1154:14:1154:17 | self | | {EXTERNAL LOCATION} | & | | main.rs:1154:14:1154:17 | self | TRef | main.rs:1137:5:1138:19 | S | @@ -2296,8 +1925,6 @@ inferCertainType | main.rs:1157:15:1157:25 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1157:15:1157:25 | SelfParam | TRef | main.rs:1137:5:1138:19 | S | | main.rs:1157:15:1157:25 | SelfParam | TRef.T | main.rs:1148:10:1148:10 | T | -| main.rs:1157:34:1159:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1157:34:1159:9 | { ... } | TRef | main.rs:1148:10:1148:10 | T | | main.rs:1158:13:1158:19 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1158:14:1158:17 | self | | {EXTERNAL LOCATION} | & | | main.rs:1158:14:1158:17 | self | TRef | main.rs:1137:5:1138:19 | S | @@ -2308,77 +1935,60 @@ inferCertainType | main.rs:1170:29:1170:33 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1170:29:1170:33 | SelfParam | TRef | {EXTERNAL LOCATION} | & | | main.rs:1170:29:1170:33 | SelfParam | TRef.TRef | main.rs:1143:5:1146:5 | MyInt | -| main.rs:1170:43:1172:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:1171:17:1171:20 | self | | {EXTERNAL LOCATION} | & | | main.rs:1171:17:1171:20 | self | TRef | {EXTERNAL LOCATION} | & | | main.rs:1171:17:1171:20 | self | TRef.TRef | main.rs:1143:5:1146:5 | MyInt | | main.rs:1175:33:1175:36 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1175:33:1175:36 | SelfParam | TRef | main.rs:1143:5:1146:5 | MyInt | -| main.rs:1175:46:1177:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:1176:15:1176:18 | self | | {EXTERNAL LOCATION} | & | | main.rs:1176:15:1176:18 | self | TRef | main.rs:1143:5:1146:5 | MyInt | | main.rs:1180:16:1230:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1182:18:1182:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1182:18:1182:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1182:18:1182:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1182:18:1182:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1186:18:1186:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1186:18:1186:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1186:18:1186:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1186:18:1186:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1187:18:1187:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1187:18:1187:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1187:18:1187:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1187:18:1187:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1191:18:1191:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1191:18:1191:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1191:18:1191:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1191:18:1191:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1191:26:1191:41 | ...::m2(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1191:26:1191:41 | ...::m2(...) | TRef | main.rs:1140:5:1141:14 | S2 | | main.rs:1191:38:1191:40 | &x3 | | {EXTERNAL LOCATION} | & | | main.rs:1192:18:1192:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1192:18:1192:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1192:18:1192:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1192:18:1192:41 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1192:26:1192:41 | ...::m3(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1192:26:1192:41 | ...::m3(...) | TRef | main.rs:1140:5:1141:14 | S2 | | main.rs:1192:38:1192:40 | &x3 | | {EXTERNAL LOCATION} | & | | main.rs:1194:13:1194:14 | x4 | | {EXTERNAL LOCATION} | & | | main.rs:1194:18:1194:23 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1196:18:1196:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1196:18:1196:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1196:18:1196:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1196:18:1196:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1196:26:1196:27 | x4 | | {EXTERNAL LOCATION} | & | | main.rs:1197:18:1197:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1197:18:1197:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1197:18:1197:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1197:18:1197:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1197:26:1197:27 | x4 | | {EXTERNAL LOCATION} | & | | main.rs:1199:13:1199:14 | x5 | | {EXTERNAL LOCATION} | & | | main.rs:1199:18:1199:23 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1201:18:1201:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1201:18:1201:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1201:18:1201:32 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1201:18:1201:32 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1201:26:1201:27 | x5 | | {EXTERNAL LOCATION} | & | | main.rs:1202:18:1202:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1202:18:1202:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1202:18:1202:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1202:18:1202:29 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1202:26:1202:27 | x5 | | {EXTERNAL LOCATION} | & | | main.rs:1204:13:1204:14 | x6 | | {EXTERNAL LOCATION} | & | | main.rs:1204:18:1204:23 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1207:18:1207:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1207:18:1207:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1207:18:1207:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1207:18:1207:35 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1207:28:1207:29 | x6 | | {EXTERNAL LOCATION} | & | | main.rs:1209:20:1209:22 | &S2 | | {EXTERNAL LOCATION} | & | | main.rs:1213:18:1213:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1213:18:1213:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1213:18:1213:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1213:18:1213:27 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1215:13:1215:14 | x9 | | {EXTERNAL LOCATION} | String | | main.rs:1215:26:1215:32 | "Hello" | | {EXTERNAL LOCATION} | & | @@ -2390,7 +2000,6 @@ inferCertainType | main.rs:1223:17:1223:24 | my_thing | | {EXTERNAL LOCATION} | & | | main.rs:1224:18:1224:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1224:18:1224:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1224:18:1224:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1224:18:1224:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1227:13:1227:20 | my_thing | | {EXTERNAL LOCATION} | & | | main.rs:1227:24:1227:39 | &... | | {EXTERNAL LOCATION} | & | @@ -2398,29 +2007,21 @@ inferCertainType | main.rs:1228:17:1228:24 | my_thing | | {EXTERNAL LOCATION} | & | | main.rs:1229:18:1229:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1229:18:1229:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1229:18:1229:26 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1229:18:1229:26 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1236:16:1236:20 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1236:16:1236:20 | SelfParam | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | | main.rs:1239:16:1239:20 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1239:16:1239:20 | SelfParam | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | -| main.rs:1239:32:1241:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1239:32:1241:9 | { ... } | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | | main.rs:1240:13:1240:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:1240:13:1240:16 | self | TRef | main.rs:1234:5:1242:5 | Self [trait MyTrait] | | main.rs:1248:16:1248:20 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1248:16:1248:20 | SelfParam | TRef | main.rs:1244:5:1244:20 | MyStruct | -| main.rs:1248:36:1250:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1248:36:1250:9 | { ... } | TRef | main.rs:1244:5:1244:20 | MyStruct | | main.rs:1249:13:1249:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:1249:13:1249:16 | self | TRef | main.rs:1244:5:1244:20 | MyStruct | | main.rs:1253:16:1256:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1265:16:1265:20 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1265:16:1265:20 | SelfParam | TRef | main.rs:1262:5:1262:26 | MyStruct | | main.rs:1265:16:1265:20 | SelfParam | TRef.T | main.rs:1264:10:1264:10 | T | -| main.rs:1265:32:1267:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1265:32:1267:9 | { ... } | TRef | main.rs:1262:5:1262:26 | MyStruct | -| main.rs:1265:32:1267:9 | { ... } | TRef.T | main.rs:1264:10:1264:10 | T | | main.rs:1266:13:1266:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:1266:13:1266:16 | self | TRef | main.rs:1262:5:1262:26 | MyStruct | | main.rs:1266:13:1266:16 | self | TRef.T | main.rs:1264:10:1264:10 | T | @@ -2430,9 +2031,6 @@ inferCertainType | main.rs:1269:23:1269:23 | x | | {EXTERNAL LOCATION} | & | | main.rs:1269:23:1269:23 | x | TRef | main.rs:1262:5:1262:26 | MyStruct | | main.rs:1269:23:1269:23 | x | TRef.T | main.rs:1264:10:1264:10 | T | -| main.rs:1269:42:1271:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1269:42:1271:9 | { ... } | TRef | main.rs:1262:5:1262:26 | MyStruct | -| main.rs:1269:42:1271:9 | { ... } | TRef.T | main.rs:1264:10:1264:10 | T | | main.rs:1270:13:1270:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:1270:13:1270:16 | self | TRef | main.rs:1262:5:1262:26 | MyStruct | | main.rs:1270:13:1270:16 | self | TRef.T | main.rs:1264:10:1264:10 | T | @@ -2448,8 +2046,6 @@ inferCertainType | main.rs:1291:26:1291:29 | self | TRefMut | main.rs:1284:5:1287:5 | MyFlag | | main.rs:1298:15:1298:19 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1298:15:1298:19 | SelfParam | TRef | main.rs:1295:5:1295:13 | S | -| main.rs:1298:31:1300:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1298:31:1300:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1299:13:1299:19 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1299:14:1299:19 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1299:15:1299:19 | &self | | {EXTERNAL LOCATION} | & | @@ -2457,8 +2053,6 @@ inferCertainType | main.rs:1299:16:1299:19 | self | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1302:15:1302:25 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1302:15:1302:25 | SelfParam | TRef | main.rs:1295:5:1295:13 | S | -| main.rs:1302:37:1304:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1302:37:1304:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1303:13:1303:19 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1303:14:1303:19 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1303:15:1303:19 | &self | | {EXTERNAL LOCATION} | & | @@ -2466,14 +2060,10 @@ inferCertainType | main.rs:1303:16:1303:19 | self | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1306:15:1306:15 | x | | {EXTERNAL LOCATION} | & | | main.rs:1306:15:1306:15 | x | TRef | main.rs:1295:5:1295:13 | S | -| main.rs:1306:34:1308:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1306:34:1308:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1307:13:1307:13 | x | | {EXTERNAL LOCATION} | & | | main.rs:1307:13:1307:13 | x | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1310:15:1310:15 | x | | {EXTERNAL LOCATION} | & | | main.rs:1310:15:1310:15 | x | TRef | main.rs:1295:5:1295:13 | S | -| main.rs:1310:34:1312:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1310:34:1312:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1311:13:1311:16 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1311:14:1311:16 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1311:15:1311:16 | &x | | {EXTERNAL LOCATION} | & | @@ -2484,78 +2074,47 @@ inferCertainType | main.rs:1316:17:1316:20 | S {...} | | main.rs:1295:5:1295:13 | S | | main.rs:1317:9:1317:9 | x | | main.rs:1295:5:1295:13 | S | | main.rs:1318:9:1318:9 | x | | main.rs:1295:5:1295:13 | S | -| main.rs:1319:9:1319:17 | ...::f3(...) | | {EXTERNAL LOCATION} | & | -| main.rs:1319:9:1319:17 | ...::f3(...) | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1319:15:1319:16 | &x | | {EXTERNAL LOCATION} | & | | main.rs:1319:16:1319:16 | x | | main.rs:1295:5:1295:13 | S | | main.rs:1321:19:1321:24 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1321:20:1321:24 | &true | | {EXTERNAL LOCATION} | & | | main.rs:1321:21:1321:24 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:1326:9:1326:31 | ...::flip(...) | | {EXTERNAL LOCATION} | () | | main.rs:1326:22:1326:30 | &mut flag | | {EXTERNAL LOCATION} | &mut | | main.rs:1327:18:1327:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1327:18:1327:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1327:18:1327:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1327:18:1327:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1342:43:1345:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1342:43:1345:5 | { ... } | E | main.rs:1334:5:1335:14 | S1 | -| main.rs:1342:43:1345:5 | { ... } | T | main.rs:1334:5:1335:14 | S1 | -| main.rs:1349:46:1353:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1349:46:1353:5 | { ... } | E | main.rs:1337:5:1338:14 | S2 | -| main.rs:1349:46:1353:5 | { ... } | T | main.rs:1334:5:1335:14 | S1 | -| main.rs:1357:40:1362:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1357:40:1362:5 | { ... } | E | main.rs:1337:5:1338:14 | S2 | -| main.rs:1357:40:1362:5 | { ... } | T | main.rs:1334:5:1335:14 | S1 | | main.rs:1360:24:1360:28 | \|...\| s | | {EXTERNAL LOCATION} | dyn Fn | +| main.rs:1360:24:1360:28 | \|...\| s | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | main.rs:1366:30:1366:34 | input | | {EXTERNAL LOCATION} | Result | | main.rs:1366:30:1366:34 | input | E | main.rs:1334:5:1335:14 | S1 | | main.rs:1366:30:1366:34 | input | T | main.rs:1366:20:1366:27 | T | -| main.rs:1366:69:1373:5 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:1366:69:1373:5 | { ... } | E | main.rs:1334:5:1335:14 | S1 | -| main.rs:1366:69:1373:5 | { ... } | T | main.rs:1366:20:1366:27 | T | | main.rs:1367:21:1367:25 | input | | {EXTERNAL LOCATION} | Result | | main.rs:1367:21:1367:25 | input | E | main.rs:1334:5:1335:14 | S1 | | main.rs:1367:21:1367:25 | input | T | main.rs:1366:20:1366:27 | T | | main.rs:1368:49:1371:9 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| main.rs:1368:49:1371:9 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | main.rs:1369:22:1369:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1369:22:1369:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1369:22:1369:30 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1369:22:1369:30 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1376:16:1392:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1377:9:1379:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1377:37:1377:52 | try_same_error(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1377:37:1377:52 | try_same_error(...) | E | main.rs:1334:5:1335:14 | S1 | -| main.rs:1377:37:1377:52 | try_same_error(...) | T | main.rs:1334:5:1335:14 | S1 | | main.rs:1377:54:1379:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1378:22:1378:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1378:22:1378:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1378:22:1378:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1378:22:1378:35 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1381:9:1383:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1381:37:1381:55 | try_convert_error(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1381:37:1381:55 | try_convert_error(...) | E | main.rs:1337:5:1338:14 | S2 | -| main.rs:1381:37:1381:55 | try_convert_error(...) | T | main.rs:1334:5:1335:14 | S1 | | main.rs:1381:57:1383:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1382:22:1382:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1382:22:1382:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1382:22:1382:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1382:22:1382:35 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1385:9:1387:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1385:37:1385:49 | try_chained(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1385:37:1385:49 | try_chained(...) | E | main.rs:1337:5:1338:14 | S2 | -| main.rs:1385:37:1385:49 | try_chained(...) | T | main.rs:1334:5:1335:14 | S1 | | main.rs:1385:51:1387:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1386:22:1386:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1386:22:1386:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1386:22:1386:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1386:22:1386:35 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1389:9:1391:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| main.rs:1389:37:1389:63 | try_complex(...) | | {EXTERNAL LOCATION} | Result | -| main.rs:1389:37:1389:63 | try_complex(...) | E | main.rs:1334:5:1335:14 | S1 | | main.rs:1389:65:1391:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1390:22:1390:27 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:1390:22:1390:27 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:1390:22:1390:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:1390:22:1390:35 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1396:16:1487:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1397:13:1397:13 | x | | {EXTERNAL LOCATION} | i32 | @@ -2578,28 +2137,18 @@ inferCertainType | main.rs:1414:26:1414:30 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1414:26:1414:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [;] | | main.rs:1414:26:1414:30 | SelfParam | TRef.TArray | main.rs:1413:14:1413:23 | T | -| main.rs:1414:39:1416:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1414:39:1416:13 | { ... } | TRef | main.rs:1413:14:1413:23 | T | | main.rs:1415:17:1415:20 | self | | {EXTERNAL LOCATION} | & | | main.rs:1415:17:1415:20 | self | TRef | {EXTERNAL LOCATION} | [;] | | main.rs:1415:17:1415:20 | self | TRef.TArray | main.rs:1413:14:1413:23 | T | -| main.rs:1418:31:1420:13 | { ... } | | main.rs:1413:14:1413:23 | T | | main.rs:1423:17:1423:25 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1424:13:1424:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1424:17:1424:47 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | | main.rs:1424:37:1424:46 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1424:38:1424:46 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:1425:13:1425:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1425:17:1425:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:1428:26:1428:30 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1428:26:1428:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [] | | main.rs:1428:26:1428:30 | SelfParam | TRef.TSlice | main.rs:1427:14:1427:23 | T | -| main.rs:1428:39:1430:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1428:39:1430:13 | { ... } | TRef | main.rs:1427:14:1427:23 | T | | main.rs:1429:17:1429:20 | self | | {EXTERNAL LOCATION} | & | | main.rs:1429:17:1429:20 | self | TRef | {EXTERNAL LOCATION} | [] | | main.rs:1429:17:1429:20 | self | TRef.TSlice | main.rs:1427:14:1427:23 | T | -| main.rs:1432:31:1434:13 | { ... } | | main.rs:1427:14:1427:23 | T | | main.rs:1437:13:1437:13 | s | | {EXTERNAL LOCATION} | & | | main.rs:1437:13:1437:13 | s | TRef | {EXTERNAL LOCATION} | [] | | main.rs:1437:13:1437:13 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | @@ -2608,73 +2157,49 @@ inferCertainType | main.rs:1438:17:1438:17 | s | | {EXTERNAL LOCATION} | & | | main.rs:1438:17:1438:17 | s | TRef | {EXTERNAL LOCATION} | [] | | main.rs:1438:17:1438:17 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1439:13:1439:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1439:17:1439:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | | main.rs:1439:34:1439:34 | s | | {EXTERNAL LOCATION} | & | | main.rs:1439:34:1439:34 | s | TRef | {EXTERNAL LOCATION} | [] | | main.rs:1439:34:1439:34 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | -| main.rs:1440:13:1440:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1440:17:1440:34 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:1443:26:1443:30 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1443:26:1443:30 | SelfParam | TRef | {EXTERNAL LOCATION} | (T_2) | | main.rs:1443:26:1443:30 | SelfParam | TRef.T0 | main.rs:1442:14:1442:23 | T | | main.rs:1443:26:1443:30 | SelfParam | TRef.T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1443:39:1445:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1443:39:1445:13 | { ... } | TRef | main.rs:1442:14:1442:23 | T | | main.rs:1444:17:1444:23 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1444:18:1444:21 | self | | {EXTERNAL LOCATION} | & | | main.rs:1444:18:1444:21 | self | TRef | {EXTERNAL LOCATION} | (T_2) | | main.rs:1444:18:1444:21 | self | TRef.T0 | main.rs:1442:14:1442:23 | T | | main.rs:1444:18:1444:21 | self | TRef.T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:1447:31:1449:13 | { ... } | | main.rs:1442:14:1442:23 | T | | main.rs:1452:13:1452:13 | p | | {EXTERNAL LOCATION} | (T_2) | | main.rs:1452:17:1452:23 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | | main.rs:1453:17:1453:17 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1454:13:1454:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1454:17:1454:39 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | | main.rs:1454:37:1454:38 | &p | | {EXTERNAL LOCATION} | & | | main.rs:1454:38:1454:38 | p | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1455:13:1455:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1455:17:1455:39 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:1458:26:1458:30 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1458:26:1458:30 | SelfParam | TRef | {EXTERNAL LOCATION} | & | | main.rs:1458:26:1458:30 | SelfParam | TRef.TRef | main.rs:1457:14:1457:23 | T | -| main.rs:1458:39:1460:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1458:39:1460:13 | { ... } | TRef | main.rs:1457:14:1457:23 | T | | main.rs:1459:18:1459:21 | self | | {EXTERNAL LOCATION} | & | | main.rs:1459:18:1459:21 | self | TRef | {EXTERNAL LOCATION} | & | | main.rs:1459:18:1459:21 | self | TRef.TRef | main.rs:1457:14:1457:23 | T | -| main.rs:1462:31:1464:13 | { ... } | | main.rs:1457:14:1457:23 | T | | main.rs:1467:13:1467:13 | r | | {EXTERNAL LOCATION} | & | | main.rs:1467:17:1467:19 | &42 | | {EXTERNAL LOCATION} | & | | main.rs:1468:17:1468:17 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1469:13:1469:13 | x | | {EXTERNAL LOCATION} | & | -| main.rs:1469:17:1469:35 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | | main.rs:1469:33:1469:34 | &r | | {EXTERNAL LOCATION} | & | | main.rs:1469:34:1469:34 | r | | {EXTERNAL LOCATION} | & | -| main.rs:1470:13:1470:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1470:17:1470:33 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:1473:26:1473:30 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1473:26:1473:30 | SelfParam | TRef | {EXTERNAL LOCATION} | *mut | | main.rs:1473:26:1473:30 | SelfParam | TRef.TPtrMut | main.rs:1472:14:1472:23 | T | -| main.rs:1473:39:1475:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1473:39:1475:13 | { ... } | TRef | main.rs:1472:14:1472:23 | T | | main.rs:1474:26:1474:32 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1474:29:1474:32 | self | | {EXTERNAL LOCATION} | & | | main.rs:1474:29:1474:32 | self | TRef | {EXTERNAL LOCATION} | *mut | | main.rs:1474:29:1474:32 | self | TRef.TPtrMut | main.rs:1472:14:1472:23 | T | -| main.rs:1477:31:1479:13 | { ... } | | main.rs:1472:14:1472:23 | T | | main.rs:1483:13:1483:13 | p | | {EXTERNAL LOCATION} | *mut | | main.rs:1483:13:1483:13 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | | main.rs:1483:27:1483:32 | &mut v | | {EXTERNAL LOCATION} | &mut | | main.rs:1484:26:1484:26 | p | | {EXTERNAL LOCATION} | *mut | | main.rs:1484:26:1484:26 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1485:26:1485:48 | ...::my_method(...) | | {EXTERNAL LOCATION} | & | | main.rs:1485:46:1485:47 | &p | | {EXTERNAL LOCATION} | & | | main.rs:1485:47:1485:47 | p | | {EXTERNAL LOCATION} | *mut | | main.rs:1485:47:1485:47 | p | TPtrMut | {EXTERNAL LOCATION} | i32 | -| main.rs:1486:13:1486:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:1486:17:1486:37 | ...::my_func(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:1492:16:1504:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1493:13:1493:13 | x | | {EXTERNAL LOCATION} | bool | | main.rs:1493:17:1493:20 | true | | {EXTERNAL LOCATION} | bool | @@ -2686,11 +2211,9 @@ inferCertainType | main.rs:1494:25:1494:29 | false | | {EXTERNAL LOCATION} | bool | | main.rs:1498:17:1500:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:1500:16:1502:9 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1517:30:1519:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1518:13:1518:31 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1525:16:1525:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1525:22:1525:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1525:41:1530:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1526:13:1529:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1527:20:1527:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1527:29:1527:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | @@ -2708,7 +2231,6 @@ inferCertainType | main.rs:1537:23:1537:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1543:16:1543:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1543:22:1543:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1543:41:1548:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1544:13:1547:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1545:20:1545:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1545:29:1545:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | @@ -2726,7 +2248,6 @@ inferCertainType | main.rs:1555:23:1555:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1561:16:1561:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1561:22:1561:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1561:41:1566:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1562:13:1565:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1563:20:1563:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1563:29:1563:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | @@ -2744,7 +2265,6 @@ inferCertainType | main.rs:1572:23:1572:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1578:16:1578:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1578:22:1578:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1578:41:1583:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1579:13:1582:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1580:20:1580:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1580:29:1580:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | @@ -2762,7 +2282,6 @@ inferCertainType | main.rs:1589:23:1589:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1595:16:1595:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1595:22:1595:24 | rhs | | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1595:41:1600:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1596:13:1599:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1597:20:1597:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1597:29:1597:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | @@ -2780,7 +2299,6 @@ inferCertainType | main.rs:1606:23:1606:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1612:19:1612:22 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1612:25:1612:27 | rhs | | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1612:44:1617:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1613:13:1616:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1614:20:1614:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1614:29:1614:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | @@ -2798,7 +2316,6 @@ inferCertainType | main.rs:1623:23:1623:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1629:18:1629:21 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1629:24:1629:26 | rhs | | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1629:43:1634:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1630:13:1633:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1631:20:1631:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1631:29:1631:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | @@ -2816,7 +2333,6 @@ inferCertainType | main.rs:1640:23:1640:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1646:19:1646:22 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1646:25:1646:27 | rhs | | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1646:44:1651:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1647:13:1650:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1648:20:1648:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1648:29:1648:31 | rhs | | main.rs:1510:5:1515:5 | Vec2 | @@ -2834,7 +2350,6 @@ inferCertainType | main.rs:1657:23:1657:25 | rhs | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1663:16:1663:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1663:22:1663:24 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1663:40:1668:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1664:13:1667:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1665:20:1665:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1665:30:1665:32 | rhs | | {EXTERNAL LOCATION} | u32 | @@ -2852,7 +2367,6 @@ inferCertainType | main.rs:1674:24:1674:26 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1680:16:1680:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1680:22:1680:24 | rhs | | {EXTERNAL LOCATION} | u32 | -| main.rs:1680:40:1685:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1681:13:1684:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1682:20:1682:23 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1682:30:1682:32 | rhs | | {EXTERNAL LOCATION} | u32 | @@ -2869,12 +2383,10 @@ inferCertainType | main.rs:1691:13:1691:16 | self | TRefMut | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1691:24:1691:26 | rhs | | {EXTERNAL LOCATION} | u32 | | main.rs:1697:16:1697:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1697:30:1702:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1698:13:1701:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1699:21:1699:24 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1700:21:1700:24 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1707:16:1707:19 | SelfParam | | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1707:30:1712:9 | { ... } | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1708:13:1711:13 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1709:21:1709:24 | self | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1710:21:1710:24 | self | | main.rs:1510:5:1515:5 | Vec2 | @@ -2882,7 +2394,6 @@ inferCertainType | main.rs:1716:15:1716:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1716:22:1716:26 | other | | {EXTERNAL LOCATION} | & | | main.rs:1716:22:1716:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1716:44:1718:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:1717:13:1717:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:1717:13:1717:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1717:13:1717:29 | ... == ... | | {EXTERNAL LOCATION} | bool | @@ -2898,7 +2409,6 @@ inferCertainType | main.rs:1720:15:1720:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1720:22:1720:26 | other | | {EXTERNAL LOCATION} | & | | main.rs:1720:22:1720:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1720:44:1722:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:1721:13:1721:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:1721:13:1721:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1721:13:1721:29 | ... != ... | | {EXTERNAL LOCATION} | bool | @@ -2914,8 +2424,6 @@ inferCertainType | main.rs:1726:24:1726:28 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1726:31:1726:35 | other | | {EXTERNAL LOCATION} | & | | main.rs:1726:31:1726:35 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1726:75:1728:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:1726:75:1728:9 | { ... } | T | {EXTERNAL LOCATION} | Ordering | | main.rs:1727:14:1727:17 | self | | {EXTERNAL LOCATION} | & | | main.rs:1727:14:1727:17 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1727:23:1727:26 | self | | {EXTERNAL LOCATION} | & | @@ -2929,7 +2437,6 @@ inferCertainType | main.rs:1730:15:1730:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1730:22:1730:26 | other | | {EXTERNAL LOCATION} | & | | main.rs:1730:22:1730:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1730:44:1732:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:1731:13:1731:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:1731:13:1731:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1731:13:1731:28 | ... < ... | | {EXTERNAL LOCATION} | bool | @@ -2945,7 +2452,6 @@ inferCertainType | main.rs:1734:15:1734:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1734:22:1734:26 | other | | {EXTERNAL LOCATION} | & | | main.rs:1734:22:1734:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1734:44:1736:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:1735:13:1735:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:1735:13:1735:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1735:13:1735:29 | ... <= ... | | {EXTERNAL LOCATION} | bool | @@ -2961,7 +2467,6 @@ inferCertainType | main.rs:1738:15:1738:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1738:22:1738:26 | other | | {EXTERNAL LOCATION} | & | | main.rs:1738:22:1738:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1738:44:1740:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:1739:13:1739:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:1739:13:1739:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1739:13:1739:28 | ... > ... | | {EXTERNAL LOCATION} | bool | @@ -2977,7 +2482,6 @@ inferCertainType | main.rs:1742:15:1742:19 | SelfParam | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1742:22:1742:26 | other | | {EXTERNAL LOCATION} | & | | main.rs:1742:22:1742:26 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | -| main.rs:1742:44:1744:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:1743:13:1743:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:1743:13:1743:16 | self | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1743:13:1743:29 | ... >= ... | | {EXTERNAL LOCATION} | bool | @@ -2991,7 +2495,6 @@ inferCertainType | main.rs:1743:44:1743:48 | other | TRef | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1747:26:1747:26 | a | | main.rs:1747:18:1747:23 | T | | main.rs:1747:32:1747:32 | b | | main.rs:1747:18:1747:23 | T | -| main.rs:1747:51:1749:5 | { ... } | | main.rs:1747:18:1747:23 | T::Output[Add] | | main.rs:1748:9:1748:9 | a | | main.rs:1747:18:1747:23 | T | | main.rs:1748:13:1748:13 | b | | main.rs:1747:18:1747:23 | T | | main.rs:1751:16:1882:5 | { ... } | | {EXTERNAL LOCATION} | () | @@ -3153,7 +2656,6 @@ inferCertainType | main.rs:1881:30:1881:48 | Vec2 {...} | | main.rs:1510:5:1515:5 | Vec2 | | main.rs:1891:18:1891:21 | SelfParam | | main.rs:1888:5:1888:14 | S1 | | main.rs:1891:24:1891:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1894:25:1896:5 | { ... } | | main.rs:1888:5:1888:14 | S1 | | main.rs:1899:9:1899:20 | { ... } | | {EXTERNAL LOCATION} | dyn Future | | main.rs:1903:9:1903:16 | { ... } | | {EXTERNAL LOCATION} | dyn Future | | main.rs:1903:9:1903:16 | { ... } | dyn(Output) | {EXTERNAL LOCATION} | () | @@ -3162,14 +2664,7 @@ inferCertainType | main.rs:1912:13:1912:42 | SelfParam | Ptr.TRefMut | main.rs:1906:5:1906:14 | S2 | | main.rs:1913:13:1913:15 | _cx | | {EXTERNAL LOCATION} | &mut | | main.rs:1913:13:1913:15 | _cx | TRefMut | {EXTERNAL LOCATION} | Context | -| main.rs:1914:44:1916:9 | { ... } | | {EXTERNAL LOCATION} | Poll | -| main.rs:1914:44:1916:9 | { ... } | T | main.rs:1888:5:1888:14 | S1 | | main.rs:1923:22:1931:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:1924:9:1924:12 | f1(...) | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:1924:9:1924:12 | f1(...) | dyn(Output) | main.rs:1888:5:1888:14 | S1 | -| main.rs:1925:9:1925:12 | f2(...) | | main.rs:1898:16:1898:39 | impl ... | -| main.rs:1926:9:1926:12 | f3(...) | | main.rs:1902:16:1902:39 | impl ... | -| main.rs:1927:9:1927:12 | f4(...) | | main.rs:1919:16:1919:39 | impl ... | | main.rs:1929:13:1929:13 | b | | {EXTERNAL LOCATION} | dyn Future | | main.rs:1929:17:1929:28 | { ... } | | {EXTERNAL LOCATION} | dyn Future | | main.rs:1930:9:1930:9 | b | | {EXTERNAL LOCATION} | dyn Future | @@ -3189,63 +2684,28 @@ inferCertainType | main.rs:1961:18:1961:22 | SelfParam | TRef | main.rs:1960:5:1962:5 | Self [trait MyTrait] | | main.rs:1965:18:1965:22 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1965:18:1965:22 | SelfParam | TRef | main.rs:1935:5:1936:14 | S1 | -| main.rs:1965:31:1967:9 | { ... } | | main.rs:1937:5:1937:14 | S2 | | main.rs:1971:18:1971:22 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1971:18:1971:22 | SelfParam | TRef | main.rs:1938:5:1938:22 | S3 | | main.rs:1971:18:1971:22 | SelfParam | TRef.T3 | main.rs:1970:10:1970:17 | T | -| main.rs:1971:30:1974:9 | { ... } | | main.rs:1970:10:1970:17 | T | | main.rs:1972:25:1972:28 | self | | {EXTERNAL LOCATION} | & | | main.rs:1972:25:1972:28 | self | TRef | main.rs:1938:5:1938:22 | S3 | | main.rs:1972:25:1972:28 | self | TRef.T3 | main.rs:1970:10:1970:17 | T | | main.rs:1981:41:1981:41 | t | | main.rs:1981:26:1981:38 | B | -| main.rs:1981:52:1983:5 | { ... } | | main.rs:1981:23:1981:23 | A | | main.rs:1982:9:1982:9 | t | | main.rs:1981:26:1981:38 | B | | main.rs:1985:34:1985:34 | x | | main.rs:1985:24:1985:31 | T | -| main.rs:1985:59:1987:5 | { ... } | | main.rs:1985:43:1985:57 | impl ... | -| main.rs:1985:59:1987:5 | { ... } | impl(T) | main.rs:1985:24:1985:31 | T | | main.rs:1986:12:1986:12 | x | | main.rs:1985:24:1985:31 | T | | main.rs:1989:34:1989:34 | x | | main.rs:1989:24:1989:31 | T | -| main.rs:1989:67:1991:5 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:1989:67:1991:5 | { ... } | T | main.rs:1989:50:1989:64 | impl ... | -| main.rs:1989:67:1991:5 | { ... } | T.impl(T) | main.rs:1989:24:1989:31 | T | | main.rs:1990:17:1990:17 | x | | main.rs:1989:24:1989:31 | T | | main.rs:1993:34:1993:34 | x | | main.rs:1993:24:1993:31 | T | -| main.rs:1993:78:1995:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1993:78:1995:5 | { ... } | T0 | main.rs:1993:44:1993:58 | impl ... | -| main.rs:1993:78:1995:5 | { ... } | T0.impl(T) | main.rs:1993:24:1993:31 | T | -| main.rs:1993:78:1995:5 | { ... } | T1 | main.rs:1993:61:1993:75 | impl ... | -| main.rs:1993:78:1995:5 | { ... } | T1.impl(T) | main.rs:1993:24:1993:31 | T | | main.rs:1994:9:1994:30 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | | main.rs:1994:13:1994:13 | x | | main.rs:1993:24:1993:31 | T | | main.rs:1994:28:1994:28 | x | | main.rs:1993:24:1993:31 | T | | main.rs:1997:26:1997:26 | t | | main.rs:1997:29:1997:43 | impl ... | -| main.rs:1997:51:1999:5 | { ... } | | main.rs:1997:23:1997:23 | A | | main.rs:1998:9:1998:9 | t | | main.rs:1997:29:1997:43 | impl ... | | main.rs:2001:16:2015:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2002:13:2002:13 | x | | main.rs:1956:16:1956:35 | impl ... + ... | -| main.rs:2002:17:2002:20 | f1(...) | | main.rs:1956:16:1956:35 | impl ... + ... | -| main.rs:2003:9:2003:9 | x | | main.rs:1956:16:1956:35 | impl ... + ... | -| main.rs:2004:9:2004:9 | x | | main.rs:1956:16:1956:35 | impl ... + ... | -| main.rs:2005:13:2005:13 | a | | main.rs:1977:28:1977:43 | impl ... | -| main.rs:2005:17:2005:32 | get_a_my_trait(...) | | main.rs:1977:28:1977:43 | impl ... | -| main.rs:2006:32:2006:32 | a | | main.rs:1977:28:1977:43 | impl ... | -| main.rs:2007:13:2007:13 | a | | main.rs:1977:28:1977:43 | impl ... | -| main.rs:2007:17:2007:32 | get_a_my_trait(...) | | main.rs:1977:28:1977:43 | impl ... | -| main.rs:2008:32:2008:32 | a | | main.rs:1977:28:1977:43 | impl ... | -| main.rs:2010:17:2010:35 | get_a_my_trait2(...) | | main.rs:1985:43:1985:57 | impl ... | -| main.rs:2013:17:2013:35 | get_a_my_trait3(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2013:17:2013:35 | get_a_my_trait3(...) | T | main.rs:1989:50:1989:64 | impl ... | -| main.rs:2014:17:2014:35 | get_a_my_trait4(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2014:17:2014:35 | get_a_my_trait4(...) | T0 | main.rs:1993:44:1993:58 | impl ... | -| main.rs:2014:17:2014:35 | get_a_my_trait4(...) | T1 | main.rs:1993:61:1993:75 | impl ... | | main.rs:2025:16:2025:20 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:2025:16:2025:20 | SelfParam | TRef | main.rs:2021:5:2022:13 | S | -| main.rs:2025:31:2027:9 | { ... } | | main.rs:2021:5:2022:13 | S | -| main.rs:2036:26:2038:9 | { ... } | | main.rs:2030:5:2033:5 | MyVec | -| main.rs:2036:26:2038:9 | { ... } | T | main.rs:2035:10:2035:10 | T | | main.rs:2037:13:2037:38 | MyVec {...} | | main.rs:2030:5:2033:5 | MyVec | -| main.rs:2037:27:2037:36 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2037:27:2037:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | main.rs:2040:17:2040:25 | SelfParam | | {EXTERNAL LOCATION} | &mut | | main.rs:2040:17:2040:25 | SelfParam | TRefMut | main.rs:2030:5:2033:5 | MyVec | | main.rs:2040:17:2040:25 | SelfParam | TRefMut.T | main.rs:2035:10:2035:10 | T | @@ -3259,8 +2719,6 @@ inferCertainType | main.rs:2049:18:2049:22 | SelfParam | TRef | main.rs:2030:5:2033:5 | MyVec | | main.rs:2049:18:2049:22 | SelfParam | TRef.T | main.rs:2045:10:2045:10 | T | | main.rs:2049:25:2049:29 | index | | {EXTERNAL LOCATION} | usize | -| main.rs:2049:56:2051:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2049:56:2051:9 | { ... } | TRef | main.rs:2045:10:2045:10 | T | | main.rs:2050:13:2050:29 | &... | | {EXTERNAL LOCATION} | & | | main.rs:2050:14:2050:17 | self | | {EXTERNAL LOCATION} | & | | main.rs:2050:14:2050:17 | self | TRef | main.rs:2030:5:2033:5 | MyVec | @@ -3275,52 +2733,39 @@ inferCertainType | main.rs:2055:17:2055:21 | slice | TRef.TSlice | main.rs:2021:5:2022:13 | S | | main.rs:2058:37:2058:37 | a | | main.rs:2058:20:2058:34 | T | | main.rs:2058:43:2058:43 | b | | {EXTERNAL LOCATION} | usize | -| main.rs:2061:5:2063:5 | { ... } | | main.rs:2058:20:2058:34 | T::Output[Index] | | main.rs:2062:9:2062:9 | a | | main.rs:2058:20:2058:34 | T | | main.rs:2062:11:2062:11 | b | | {EXTERNAL LOCATION} | usize | | main.rs:2065:16:2076:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2066:17:2066:19 | vec | | main.rs:2030:5:2033:5 | MyVec | -| main.rs:2066:23:2066:34 | ...::new(...) | | main.rs:2030:5:2033:5 | MyVec | -| main.rs:2067:9:2067:11 | vec | | main.rs:2030:5:2033:5 | MyVec | -| main.rs:2068:9:2068:11 | vec | | main.rs:2030:5:2033:5 | MyVec | | main.rs:2070:13:2070:14 | xs | | {EXTERNAL LOCATION} | [;] | | main.rs:2070:13:2070:14 | xs | TArray | main.rs:2021:5:2022:13 | S | | main.rs:2070:26:2070:28 | [...] | | {EXTERNAL LOCATION} | [;] | | main.rs:2071:17:2071:18 | xs | | {EXTERNAL LOCATION} | [;] | | main.rs:2071:17:2071:18 | xs | TArray | main.rs:2021:5:2022:13 | S | -| main.rs:2073:29:2073:31 | vec | | main.rs:2030:5:2033:5 | MyVec | -| main.rs:2075:9:2075:26 | analyze_slice(...) | | {EXTERNAL LOCATION} | () | | main.rs:2075:23:2075:25 | &xs | | {EXTERNAL LOCATION} | & | | main.rs:2075:24:2075:25 | xs | | {EXTERNAL LOCATION} | [;] | | main.rs:2075:24:2075:25 | xs | TArray | main.rs:2021:5:2022:13 | S | | main.rs:2080:16:2082:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2081:25:2081:35 | "Hello, {}" | | {EXTERNAL LOCATION} | & | | main.rs:2081:25:2081:35 | "Hello, {}" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2081:25:2081:45 | ...::format(...) | | {EXTERNAL LOCATION} | String | | main.rs:2081:38:2081:45 | "World!" | | {EXTERNAL LOCATION} | & | | main.rs:2081:38:2081:45 | "World!" | TRef | {EXTERNAL LOCATION} | str | | main.rs:2090:19:2090:22 | SelfParam | | main.rs:2086:5:2091:5 | Self [trait MyAdd] | | main.rs:2090:25:2090:27 | rhs | | main.rs:2086:17:2086:26 | Rhs | | main.rs:2097:19:2097:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | | main.rs:2097:25:2097:29 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2097:45:2099:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2098:13:2098:17 | value | | {EXTERNAL LOCATION} | i64 | | main.rs:2106:19:2106:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | | main.rs:2106:25:2106:29 | value | | {EXTERNAL LOCATION} | & | | main.rs:2106:25:2106:29 | value | TRef | {EXTERNAL LOCATION} | i64 | -| main.rs:2106:46:2108:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2107:14:2107:18 | value | | {EXTERNAL LOCATION} | & | | main.rs:2107:14:2107:18 | value | TRef | {EXTERNAL LOCATION} | i64 | | main.rs:2115:19:2115:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | | main.rs:2115:25:2115:29 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2115:46:2121:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2116:16:2116:20 | value | | {EXTERNAL LOCATION} | bool | | main.rs:2130:19:2130:22 | SelfParam | | main.rs:2124:5:2124:19 | S | | main.rs:2130:19:2130:22 | SelfParam | T | main.rs:2126:10:2126:17 | T | | main.rs:2130:25:2130:29 | other | | main.rs:2124:5:2124:19 | S | | main.rs:2130:25:2130:29 | other | T | main.rs:2126:10:2126:17 | T | -| main.rs:2130:54:2132:9 | { ... } | | main.rs:2124:5:2124:19 | S | -| main.rs:2130:54:2132:9 | { ... } | T | main.rs:2126:10:2126:17 | T::Output[MyAdd] | | main.rs:2131:16:2131:19 | self | | main.rs:2124:5:2124:19 | S | | main.rs:2131:16:2131:19 | self | T | main.rs:2126:10:2126:17 | T | | main.rs:2131:31:2131:35 | other | | main.rs:2124:5:2124:19 | S | @@ -3328,8 +2773,6 @@ inferCertainType | main.rs:2139:19:2139:22 | SelfParam | | main.rs:2124:5:2124:19 | S | | main.rs:2139:19:2139:22 | SelfParam | T | main.rs:2135:10:2135:17 | T | | main.rs:2139:25:2139:29 | other | | main.rs:2135:10:2135:17 | T | -| main.rs:2139:51:2141:9 | { ... } | | main.rs:2124:5:2124:19 | S | -| main.rs:2139:51:2141:9 | { ... } | T | main.rs:2135:10:2135:17 | T::Output[MyAdd] | | main.rs:2140:16:2140:19 | self | | main.rs:2124:5:2124:19 | S | | main.rs:2140:16:2140:19 | self | T | main.rs:2135:10:2135:17 | T | | main.rs:2140:31:2140:35 | other | | main.rs:2135:10:2135:17 | T | @@ -3337,18 +2780,14 @@ inferCertainType | main.rs:2151:19:2151:22 | SelfParam | T | main.rs:2144:14:2144:14 | T | | main.rs:2151:25:2151:29 | other | | {EXTERNAL LOCATION} | & | | main.rs:2151:25:2151:29 | other | TRef | main.rs:2144:14:2144:14 | T | -| main.rs:2151:55:2153:9 | { ... } | | main.rs:2124:5:2124:19 | S | -| main.rs:2151:55:2153:9 | { ... } | T | main.rs:2144:14:2144:14 | T::Output[MyAdd] | | main.rs:2152:16:2152:19 | self | | main.rs:2124:5:2124:19 | S | | main.rs:2152:16:2152:19 | self | T | main.rs:2144:14:2144:14 | T | | main.rs:2152:31:2152:35 | other | | {EXTERNAL LOCATION} | & | | main.rs:2152:31:2152:35 | other | TRef | main.rs:2144:14:2144:14 | T | | main.rs:2158:20:2158:24 | value | | main.rs:2156:18:2156:18 | T | | main.rs:2163:20:2163:24 | value | | {EXTERNAL LOCATION} | i64 | -| main.rs:2163:40:2165:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2164:13:2164:17 | value | | {EXTERNAL LOCATION} | i64 | | main.rs:2170:20:2170:24 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2170:41:2176:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2171:16:2171:20 | value | | {EXTERNAL LOCATION} | bool | | main.rs:2181:21:2181:25 | value | | main.rs:2179:19:2179:19 | T | | main.rs:2181:31:2181:31 | x | | main.rs:2179:5:2182:5 | Self [trait MyFrom2] | @@ -3363,15 +2802,11 @@ inferCertainType | main.rs:2204:15:2204:15 | x | | main.rs:2202:5:2208:5 | Self [trait MySelfTrait] | | main.rs:2207:15:2207:15 | x | | main.rs:2202:5:2208:5 | Self [trait MySelfTrait] | | main.rs:2212:15:2212:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2212:31:2214:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2213:13:2213:13 | x | | {EXTERNAL LOCATION} | i64 | | main.rs:2217:15:2217:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2217:32:2219:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2218:13:2218:13 | x | | {EXTERNAL LOCATION} | i64 | | main.rs:2224:15:2224:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2224:31:2226:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2229:15:2229:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2229:32:2231:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:2230:13:2230:13 | x | | {EXTERNAL LOCATION} | bool | | main.rs:2234:16:2259:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2235:13:2235:13 | x | | {EXTERNAL LOCATION} | i64 | @@ -3389,42 +2824,27 @@ inferCertainType | main.rs:2242:11:2242:14 | 1i64 | | {EXTERNAL LOCATION} | i64 | | main.rs:2242:24:2242:28 | &3i64 | | {EXTERNAL LOCATION} | & | | main.rs:2242:25:2242:28 | 3i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2244:13:2244:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2244:17:2244:35 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | | main.rs:2244:30:2244:34 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2245:13:2245:13 | y | | {EXTERNAL LOCATION} | i64 | -| main.rs:2245:17:2245:34 | ...::my_from(...) | | {EXTERNAL LOCATION} | i64 | | main.rs:2245:30:2245:33 | true | | {EXTERNAL LOCATION} | bool | | main.rs:2246:13:2246:13 | z | | {EXTERNAL LOCATION} | i64 | | main.rs:2246:38:2246:42 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2247:9:2247:34 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | | main.rs:2247:23:2247:27 | 73i64 | | {EXTERNAL LOCATION} | i64 | | main.rs:2247:30:2247:33 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2248:9:2248:33 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | | main.rs:2248:23:2248:26 | true | | {EXTERNAL LOCATION} | bool | | main.rs:2248:29:2248:32 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2249:9:2249:38 | ...::my_from2(...) | | {EXTERNAL LOCATION} | () | | main.rs:2249:27:2249:31 | 73i64 | | {EXTERNAL LOCATION} | i64 | | main.rs:2249:34:2249:37 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2251:9:2251:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | | main.rs:2251:17:2251:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2252:9:2252:22 | ...::f2(...) | | {EXTERNAL LOCATION} | i64 | | main.rs:2252:17:2252:21 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2253:9:2253:22 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | | main.rs:2253:18:2253:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2254:9:2254:22 | ...::f2(...) | | {EXTERNAL LOCATION} | bool | | main.rs:2254:18:2254:21 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2255:9:2255:30 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | | main.rs:2255:25:2255:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | | main.rs:2256:25:2256:29 | 73i64 | | {EXTERNAL LOCATION} | i64 | -| main.rs:2257:9:2257:29 | ...::f1(...) | | {EXTERNAL LOCATION} | i64 | | main.rs:2257:25:2257:28 | true | | {EXTERNAL LOCATION} | bool | | main.rs:2258:25:2258:28 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2266:26:2268:9 | { ... } | | main.rs:2263:5:2263:24 | MyCallable | | main.rs:2267:13:2267:25 | MyCallable {...} | | main.rs:2263:5:2263:24 | MyCallable | | main.rs:2270:17:2270:21 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:2270:17:2270:21 | SelfParam | TRef | main.rs:2263:5:2263:24 | MyCallable | -| main.rs:2270:31:2272:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2275:16:2382:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2278:9:2278:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2278:18:2278:26 | [...] | | {EXTERNAL LOCATION} | [;] | @@ -3432,6 +2852,7 @@ inferCertainType | main.rs:2279:9:2279:44 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2279:18:2279:26 | [...] | | {EXTERNAL LOCATION} | [;] | | main.rs:2279:32:2279:40 | \|...\| ... | | {EXTERNAL LOCATION} | dyn Fn | +| main.rs:2279:32:2279:40 | \|...\| ... | dyn(Args) | {EXTERNAL LOCATION} | (T_1) | | main.rs:2279:43:2279:44 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2280:9:2280:41 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2280:18:2280:26 | [...] | | {EXTERNAL LOCATION} | [;] | @@ -3483,13 +2904,10 @@ inferCertainType | main.rs:2297:27:2297:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2299:13:2299:20 | strings2 | | {EXTERNAL LOCATION} | [;] | | main.rs:2300:9:2304:9 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2301:13:2301:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | | main.rs:2301:26:2301:30 | "foo" | | {EXTERNAL LOCATION} | & | | main.rs:2301:26:2301:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2302:13:2302:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | | main.rs:2302:26:2302:30 | "bar" | | {EXTERNAL LOCATION} | & | | main.rs:2302:26:2302:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2303:13:2303:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | | main.rs:2303:26:2303:30 | "baz" | | {EXTERNAL LOCATION} | & | | main.rs:2303:26:2303:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | | main.rs:2305:9:2305:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | @@ -3498,13 +2916,10 @@ inferCertainType | main.rs:2307:13:2307:20 | strings3 | | {EXTERNAL LOCATION} | & | | main.rs:2308:9:2312:9 | &... | | {EXTERNAL LOCATION} | & | | main.rs:2308:10:2312:9 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2309:13:2309:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | | main.rs:2309:26:2309:30 | "foo" | | {EXTERNAL LOCATION} | & | | main.rs:2309:26:2309:30 | "foo" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2310:13:2310:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | | main.rs:2310:26:2310:30 | "bar" | | {EXTERNAL LOCATION} | & | | main.rs:2310:26:2310:30 | "bar" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2311:13:2311:31 | ...::from(...) | | {EXTERNAL LOCATION} | String | | main.rs:2311:26:2311:30 | "baz" | | {EXTERNAL LOCATION} | & | | main.rs:2311:26:2311:30 | "baz" | TRef | {EXTERNAL LOCATION} | str | | main.rs:2313:9:2313:28 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | @@ -3512,9 +2927,6 @@ inferCertainType | main.rs:2313:27:2313:28 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2315:13:2315:21 | callables | | {EXTERNAL LOCATION} | [;] | | main.rs:2315:25:2315:81 | [...] | | {EXTERNAL LOCATION} | [;] | -| main.rs:2315:26:2315:42 | ...::new(...) | | main.rs:2263:5:2263:24 | MyCallable | -| main.rs:2315:45:2315:61 | ...::new(...) | | main.rs:2263:5:2263:24 | MyCallable | -| main.rs:2315:64:2315:80 | ...::new(...) | | main.rs:2263:5:2263:24 | MyCallable | | main.rs:2316:9:2320:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2317:12:2317:20 | callables | | {EXTERNAL LOCATION} | [;] | | main.rs:2318:9:2320:9 | { ... } | | {EXTERNAL LOCATION} | () | @@ -3564,12 +2976,9 @@ inferCertainType | main.rs:2346:23:2346:26 | 1u16 | | {EXTERNAL LOCATION} | u16 | | main.rs:2347:9:2347:26 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2347:25:2347:26 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2349:13:2349:17 | vals5 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2349:21:2349:43 | ...::from(...) | | {EXTERNAL LOCATION} | Vec | | main.rs:2349:31:2349:42 | [...] | | {EXTERNAL LOCATION} | [;] | | main.rs:2349:32:2349:35 | 1u32 | | {EXTERNAL LOCATION} | u32 | | main.rs:2350:9:2350:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2350:18:2350:22 | vals5 | | {EXTERNAL LOCATION} | Vec | | main.rs:2350:24:2350:25 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2352:13:2352:17 | vals6 | | {EXTERNAL LOCATION} | Vec | | main.rs:2352:13:2352:17 | vals6 | A | {EXTERNAL LOCATION} | Global | @@ -3583,103 +2992,42 @@ inferCertainType | main.rs:2353:18:2353:22 | vals6 | T | {EXTERNAL LOCATION} | & | | main.rs:2353:18:2353:22 | vals6 | T.TRef | {EXTERNAL LOCATION} | u64 | | main.rs:2353:24:2353:25 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2355:17:2355:21 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2355:17:2355:21 | vals7 | A | {EXTERNAL LOCATION} | Global | -| main.rs:2355:25:2355:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2355:25:2355:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2356:9:2356:13 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2356:9:2356:13 | vals7 | A | {EXTERNAL LOCATION} | Global | | main.rs:2356:20:2356:22 | 1u8 | | {EXTERNAL LOCATION} | u8 | | main.rs:2357:9:2357:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2357:18:2357:22 | vals7 | | {EXTERNAL LOCATION} | Vec | -| main.rs:2357:18:2357:22 | vals7 | A | {EXTERNAL LOCATION} | Global | | main.rs:2357:24:2357:25 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2361:17:2364:9 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2362:13:2363:13 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2362:29:2363:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2366:17:2366:20 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2366:17:2366:20 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2366:24:2366:55 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2366:24:2366:55 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2367:9:2367:12 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2367:9:2367:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2367:24:2367:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2367:24:2367:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | main.rs:2367:33:2367:37 | "one" | | {EXTERNAL LOCATION} | & | | main.rs:2367:33:2367:37 | "one" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2368:9:2368:12 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2368:9:2368:12 | map1 | S | {EXTERNAL LOCATION} | RandomState | -| main.rs:2368:24:2368:38 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2368:24:2368:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | main.rs:2368:33:2368:37 | "two" | | {EXTERNAL LOCATION} | & | | main.rs:2368:33:2368:37 | "two" | TRef | {EXTERNAL LOCATION} | str | | main.rs:2369:9:2369:33 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2369:20:2369:23 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2369:20:2369:23 | map1 | S | {EXTERNAL LOCATION} | RandomState | | main.rs:2369:32:2369:33 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2370:9:2370:37 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2370:22:2370:25 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2370:22:2370:25 | map1 | S | {EXTERNAL LOCATION} | RandomState | | main.rs:2370:36:2370:37 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2371:9:2371:42 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2371:13:2371:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2371:29:2371:32 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2371:29:2371:32 | map1 | S | {EXTERNAL LOCATION} | RandomState | | main.rs:2371:41:2371:42 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2372:9:2372:36 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2372:13:2372:24 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | | main.rs:2372:29:2372:33 | &map1 | | {EXTERNAL LOCATION} | & | -| main.rs:2372:30:2372:33 | map1 | | {EXTERNAL LOCATION} | HashMap | -| main.rs:2372:30:2372:33 | map1 | S | {EXTERNAL LOCATION} | RandomState | | main.rs:2372:35:2372:36 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2376:17:2376:17 | a | | {EXTERNAL LOCATION} | i64 | | main.rs:2378:17:2381:9 | while ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2378:23:2378:23 | a | | {EXTERNAL LOCATION} | i64 | | main.rs:2379:9:2381:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2380:13:2380:13 | a | | {EXTERNAL LOCATION} | i64 | -| main.rs:2392:40:2394:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:2392:40:2394:9 | { ... } | T | main.rs:2386:5:2386:20 | S1 | -| main.rs:2392:40:2394:9 | { ... } | T.T | main.rs:2391:10:2391:19 | T | -| main.rs:2396:30:2398:9 | { ... } | | main.rs:2386:5:2386:20 | S1 | -| main.rs:2396:30:2398:9 | { ... } | T | main.rs:2391:10:2391:19 | T | | main.rs:2400:19:2400:22 | SelfParam | | main.rs:2386:5:2386:20 | S1 | | main.rs:2400:19:2400:22 | SelfParam | T | main.rs:2391:10:2391:19 | T | -| main.rs:2400:33:2402:9 | { ... } | | main.rs:2386:5:2386:20 | S1 | -| main.rs:2400:33:2402:9 | { ... } | T | main.rs:2391:10:2391:19 | T | | main.rs:2401:13:2401:16 | self | | main.rs:2386:5:2386:20 | S1 | | main.rs:2401:13:2401:16 | self | T | main.rs:2391:10:2391:19 | T | | main.rs:2413:15:2413:15 | x | | main.rs:2413:12:2413:12 | T | -| main.rs:2413:26:2415:5 | { ... } | | main.rs:2413:12:2413:12 | T | | main.rs:2414:9:2414:9 | x | | main.rs:2413:12:2413:12 | T | | main.rs:2417:16:2439:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2418:13:2418:14 | x1 | | {EXTERNAL LOCATION} | Option | | main.rs:2418:13:2418:14 | x1 | T | main.rs:2386:5:2386:20 | S1 | | main.rs:2418:13:2418:14 | x1 | T.T | main.rs:2388:5:2389:14 | S2 | -| main.rs:2418:34:2418:48 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2418:34:2418:48 | ...::assoc_fun(...) | T | main.rs:2386:5:2386:20 | S1 | -| main.rs:2419:13:2419:14 | x2 | | {EXTERNAL LOCATION} | Option | -| main.rs:2419:13:2419:14 | x2 | T | main.rs:2386:5:2386:20 | S1 | -| main.rs:2419:13:2419:14 | x2 | T.T | main.rs:2388:5:2389:14 | S2 | -| main.rs:2419:18:2419:38 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2419:18:2419:38 | ...::assoc_fun(...) | T | main.rs:2386:5:2386:20 | S1 | -| main.rs:2419:18:2419:38 | ...::assoc_fun(...) | T.T | main.rs:2388:5:2389:14 | S2 | -| main.rs:2420:13:2420:14 | x3 | | {EXTERNAL LOCATION} | Option | -| main.rs:2420:13:2420:14 | x3 | T | main.rs:2386:5:2386:20 | S1 | -| main.rs:2420:13:2420:14 | x3 | T.T | main.rs:2388:5:2389:14 | S2 | -| main.rs:2420:18:2420:32 | ...::assoc_fun(...) | | {EXTERNAL LOCATION} | Option | -| main.rs:2420:18:2420:32 | ...::assoc_fun(...) | T | main.rs:2386:5:2386:20 | S1 | -| main.rs:2420:18:2420:32 | ...::assoc_fun(...) | T.T | main.rs:2388:5:2389:14 | S2 | -| main.rs:2421:13:2421:14 | x4 | | main.rs:2386:5:2386:20 | S1 | -| main.rs:2421:13:2421:14 | x4 | T | main.rs:2388:5:2389:14 | S2 | -| main.rs:2421:18:2421:48 | ...::method(...) | | main.rs:2386:5:2386:20 | S1 | -| main.rs:2421:18:2421:48 | ...::method(...) | T | main.rs:2388:5:2389:14 | S2 | -| main.rs:2421:35:2421:47 | ...::default(...) | | main.rs:2386:5:2386:20 | S1 | -| main.rs:2422:13:2422:14 | x5 | | main.rs:2386:5:2386:20 | S1 | -| main.rs:2422:13:2422:14 | x5 | T | main.rs:2388:5:2389:14 | S2 | -| main.rs:2422:18:2422:42 | ...::method(...) | | main.rs:2386:5:2386:20 | S1 | -| main.rs:2422:18:2422:42 | ...::method(...) | T | main.rs:2388:5:2389:14 | S2 | -| main.rs:2422:29:2422:41 | ...::default(...) | | main.rs:2386:5:2386:20 | S1 | -| main.rs:2426:21:2426:33 | ...::default(...) | | main.rs:2388:5:2389:14 | S2 | | main.rs:2427:13:2427:15 | x10 | | main.rs:2409:5:2411:5 | S5 | | main.rs:2427:13:2427:15 | x10 | T5 | main.rs:2388:5:2389:14 | S2 | | main.rs:2427:19:2430:9 | S5::<...> {...} | | main.rs:2409:5:2411:5 | S5 | @@ -3690,52 +3038,15 @@ inferCertainType | main.rs:2432:19:2432:33 | S5 {...} | | main.rs:2409:5:2411:5 | S5 | | main.rs:2433:13:2433:15 | x13 | | main.rs:2409:5:2411:5 | S5 | | main.rs:2433:19:2436:9 | S5 {...} | | main.rs:2409:5:2411:5 | S5 | -| main.rs:2435:20:2435:32 | ...::default(...) | | main.rs:2388:5:2389:14 | S2 | -| main.rs:2437:13:2437:15 | x14 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2437:19:2437:48 | foo::<...>(...) | | {EXTERNAL LOCATION} | i32 | -| main.rs:2438:13:2438:15 | x15 | | main.rs:2386:5:2386:20 | S1 | -| main.rs:2438:13:2438:15 | x15 | T | main.rs:2388:5:2389:14 | S2 | -| main.rs:2438:19:2438:37 | ...::default(...) | | main.rs:2386:5:2386:20 | S1 | -| main.rs:2438:19:2438:37 | ...::default(...) | T | main.rs:2388:5:2389:14 | S2 | -| main.rs:2447:35:2449:9 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2447:35:2449:9 | { ... } | T0 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2447:35:2449:9 | { ... } | T1 | main.rs:2443:5:2444:16 | S1 | | main.rs:2448:13:2448:26 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | | main.rs:2448:14:2448:18 | S1 {...} | | main.rs:2443:5:2444:16 | S1 | | main.rs:2448:21:2448:25 | S1 {...} | | main.rs:2443:5:2444:16 | S1 | | main.rs:2450:16:2450:19 | SelfParam | | main.rs:2443:5:2444:16 | S1 | | main.rs:2450:22:2450:23 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2453:16:2487:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2454:13:2454:13 | a | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2454:13:2454:13 | a | T0 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2454:13:2454:13 | a | T1 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2454:17:2454:30 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2454:17:2454:30 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2454:17:2454:30 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2455:17:2455:17 | b | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2455:17:2455:17 | b | T0 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2455:17:2455:17 | b | T1 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2455:21:2455:34 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2455:21:2455:34 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2455:21:2455:34 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | | main.rs:2456:13:2456:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2456:22:2456:35 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2456:22:2456:35 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2456:22:2456:35 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | | main.rs:2457:13:2457:22 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2457:26:2457:39 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2457:26:2457:39 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2457:26:2457:39 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | | main.rs:2458:13:2458:26 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2458:30:2458:43 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2458:30:2458:43 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2458:30:2458:43 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2460:9:2460:9 | a | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2460:9:2460:9 | a | T0 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2460:9:2460:9 | a | T1 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2461:9:2461:9 | b | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2461:9:2461:9 | b | T0 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2461:9:2461:9 | b | T1 | main.rs:2443:5:2444:16 | S1 | | main.rs:2474:13:2474:16 | pair | | {EXTERNAL LOCATION} | (T_2) | | main.rs:2474:20:2474:25 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | | main.rs:2475:13:2475:13 | i | | {EXTERNAL LOCATION} | i64 | @@ -3746,79 +3057,42 @@ inferCertainType | main.rs:2480:13:2480:18 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | | main.rs:2480:30:2480:41 | "unexpected" | | {EXTERNAL LOCATION} | & | | main.rs:2480:30:2480:41 | "unexpected" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2480:30:2480:41 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:2480:30:2480:41 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2481:25:2481:34 | "expected" | | {EXTERNAL LOCATION} | & | | main.rs:2481:25:2481:34 | "expected" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2481:25:2481:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:2481:25:2481:34 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2485:13:2485:13 | y | | {EXTERNAL LOCATION} | & | | main.rs:2485:17:2485:31 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:2485:18:2485:31 | ...::get_pair(...) | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:2485:18:2485:31 | ...::get_pair(...) | T0 | main.rs:2443:5:2444:16 | S1 | -| main.rs:2485:18:2485:31 | ...::get_pair(...) | T1 | main.rs:2443:5:2444:16 | S1 | | main.rs:2486:9:2486:9 | y | | {EXTERNAL LOCATION} | & | -| main.rs:2492:27:2514:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2493:13:2493:23 | boxed_value | | {EXTERNAL LOCATION} | Box | -| main.rs:2493:13:2493:23 | boxed_value | A | {EXTERNAL LOCATION} | Global | -| main.rs:2493:27:2493:42 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2493:27:2493:42 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | main.rs:2493:36:2493:41 | 100i32 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2496:15:2496:25 | boxed_value | | {EXTERNAL LOCATION} | Box | -| main.rs:2496:15:2496:25 | boxed_value | A | {EXTERNAL LOCATION} | Global | | main.rs:2497:24:2499:13 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2498:26:2498:36 | "Boxed 100\\n" | | {EXTERNAL LOCATION} | & | | main.rs:2498:26:2498:36 | "Boxed 100\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2498:26:2498:36 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:2498:26:2498:36 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2500:22:2503:13 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2502:26:2502:42 | "Boxed value: {}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:2502:26:2502:42 | "Boxed value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2502:26:2502:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:2502:26:2502:51 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2507:13:2507:22 | nested_box | | {EXTERNAL LOCATION} | Box | -| main.rs:2507:13:2507:22 | nested_box | A | {EXTERNAL LOCATION} | Global | -| main.rs:2507:26:2507:50 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2507:26:2507:50 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2507:35:2507:49 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2507:35:2507:49 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | main.rs:2507:44:2507:48 | 42i32 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2508:15:2508:24 | nested_box | | {EXTERNAL LOCATION} | Box | -| main.rs:2508:15:2508:24 | nested_box | A | {EXTERNAL LOCATION} | Global | | main.rs:2509:26:2512:13 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2511:26:2511:43 | "Nested boxed: {}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:2511:26:2511:43 | "Nested boxed: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2511:26:2511:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:2511:26:2511:59 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2523:36:2525:9 | { ... } | | main.rs:2520:5:2520:22 | Path | | main.rs:2524:13:2524:19 | Path {...} | | main.rs:2520:5:2520:22 | Path | | main.rs:2527:29:2527:33 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:2527:29:2527:33 | SelfParam | TRef | main.rs:2520:5:2520:22 | Path | -| main.rs:2527:59:2529:9 | { ... } | | {EXTERNAL LOCATION} | Result | -| main.rs:2527:59:2529:9 | { ... } | E | {EXTERNAL LOCATION} | () | -| main.rs:2527:59:2529:9 | { ... } | T | main.rs:2532:5:2532:25 | PathBuf | -| main.rs:2528:16:2528:29 | ...::new(...) | | main.rs:2532:5:2532:25 | PathBuf | -| main.rs:2535:39:2537:9 | { ... } | | main.rs:2532:5:2532:25 | PathBuf | | main.rs:2536:13:2536:22 | PathBuf {...} | | main.rs:2532:5:2532:25 | PathBuf | | main.rs:2545:18:2545:22 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:2545:18:2545:22 | SelfParam | TRef | main.rs:2532:5:2532:25 | PathBuf | -| main.rs:2545:34:2549:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2545:34:2549:9 | { ... } | TRef | main.rs:2520:5:2520:22 | Path | -| main.rs:2547:33:2547:43 | ...::new(...) | | main.rs:2520:5:2520:22 | Path | +| main.rs:2546:13:2547:44 | static path | | main.rs:2520:5:2520:22 | Path | | main.rs:2548:13:2548:17 | &path | | {EXTERNAL LOCATION} | & | +| main.rs:2548:14:2548:17 | path | | main.rs:2520:5:2520:22 | Path | | main.rs:2552:16:2560:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2553:13:2553:17 | path1 | | main.rs:2520:5:2520:22 | Path | -| main.rs:2553:21:2553:31 | ...::new(...) | | main.rs:2520:5:2520:22 | Path | -| main.rs:2554:21:2554:25 | path1 | | main.rs:2520:5:2520:22 | Path | -| main.rs:2557:13:2557:20 | pathbuf1 | | main.rs:2532:5:2532:25 | PathBuf | -| main.rs:2557:24:2557:37 | ...::new(...) | | main.rs:2532:5:2532:25 | PathBuf | -| main.rs:2558:24:2558:31 | pathbuf1 | | main.rs:2532:5:2532:25 | PathBuf | | main.rs:2565:14:2565:18 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:2565:14:2565:18 | SelfParam | TRef | main.rs:2564:5:2566:5 | Self [trait MyTrait] | | main.rs:2572:14:2572:18 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:2572:14:2572:18 | SelfParam | TRef | main.rs:2568:5:2569:19 | S | | main.rs:2572:14:2572:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2572:28:2574:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2573:13:2573:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:2573:13:2573:16 | self | TRef | main.rs:2568:5:2569:19 | S | | main.rs:2573:13:2573:16 | self | TRef.T | {EXTERNAL LOCATION} | i32 | @@ -3826,7 +3100,6 @@ inferCertainType | main.rs:2578:14:2578:18 | SelfParam | TRef | main.rs:2568:5:2569:19 | S | | main.rs:2578:14:2578:18 | SelfParam | TRef.T | main.rs:2568:5:2569:19 | S | | main.rs:2578:14:2578:18 | SelfParam | TRef.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2578:28:2580:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2579:13:2579:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:2579:13:2579:16 | self | TRef | main.rs:2568:5:2569:19 | S | | main.rs:2579:13:2579:16 | self | TRef.T | main.rs:2568:5:2569:19 | S | @@ -3834,40 +3107,23 @@ inferCertainType | main.rs:2584:15:2584:19 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:2584:15:2584:19 | SelfParam | TRef | main.rs:2568:5:2569:19 | S | | main.rs:2584:15:2584:19 | SelfParam | TRef.T | main.rs:2583:10:2583:16 | T | -| main.rs:2584:33:2586:9 | { ... } | | main.rs:2568:5:2569:19 | S | -| main.rs:2584:33:2586:9 | { ... } | T | main.rs:2568:5:2569:19 | S | -| main.rs:2584:33:2586:9 | { ... } | T.T | main.rs:2583:10:2583:16 | T | | main.rs:2585:17:2585:20 | self | | {EXTERNAL LOCATION} | & | | main.rs:2585:17:2585:20 | self | TRef | main.rs:2568:5:2569:19 | S | | main.rs:2585:17:2585:20 | self | TRef.T | main.rs:2583:10:2583:16 | T | | main.rs:2589:14:2589:14 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2589:48:2606:5 | { ... } | | {EXTERNAL LOCATION} | Box | -| main.rs:2589:48:2606:5 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2589:48:2606:5 | { ... } | T | main.rs:2564:5:2566:5 | dyn MyTrait | -| main.rs:2589:48:2606:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | | main.rs:2590:20:2590:20 | b | | {EXTERNAL LOCATION} | bool | | main.rs:2600:12:2600:12 | b | | {EXTERNAL LOCATION} | bool | -| main.rs:2602:13:2602:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2602:13:2602:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2604:13:2604:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2604:13:2604:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | main.rs:2610:22:2614:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2611:18:2611:18 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2611:33:2613:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2612:13:2612:13 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:2619:11:2619:14 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2619:30:2627:5 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2622:13:2624:13 | if cond {...} | | {EXTERNAL LOCATION} | () | | main.rs:2622:16:2622:19 | cond | | {EXTERNAL LOCATION} | bool | | main.rs:2622:21:2624:13 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2630:20:2637:5 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2635:18:2635:26 | "b: {:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:2635:18:2635:26 | "b: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2635:18:2635:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:2635:18:2635:29 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2639:20:2641:5 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2644:11:2644:14 | cond | | {EXTERNAL LOCATION} | bool | -| main.rs:2644:30:2652:5 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2645:13:2645:13 | a | | {EXTERNAL LOCATION} | () | | main.rs:2645:17:2649:9 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2646:13:2648:13 | if cond {...} | | {EXTERNAL LOCATION} | () | @@ -3875,12 +3131,10 @@ inferCertainType | main.rs:2646:21:2648:13 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2650:18:2650:26 | "a: {:?}\\n" | | {EXTERNAL LOCATION} | & | | main.rs:2650:18:2650:26 | "a: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| main.rs:2650:18:2650:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | main.rs:2650:18:2650:29 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2650:29:2650:29 | a | | {EXTERNAL LOCATION} | () | | main.rs:2660:14:2660:17 | SelfParam | | main.rs:2656:5:2657:13 | S | | main.rs:2660:20:2660:21 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2663:41:2665:5 | { ... } | | main.rs:2663:22:2663:31 | T | | main.rs:2667:16:2720:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2669:13:2669:13 | x | | {EXTERNAL LOCATION} | Option | | main.rs:2669:13:2669:13 | x | T | {EXTERNAL LOCATION} | i32 | @@ -3888,7 +3142,6 @@ inferCertainType | main.rs:2673:26:2673:28 | opt | T | main.rs:2673:23:2673:23 | T | | main.rs:2673:42:2673:42 | x | | main.rs:2673:23:2673:23 | T | | main.rs:2673:48:2673:49 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2676:9:2676:24 | pin_option(...) | | {EXTERNAL LOCATION} | () | | main.rs:2683:13:2683:13 | x | | main.rs:2678:9:2681:9 | MyEither | | main.rs:2683:17:2683:39 | ...::A {...} | | main.rs:2678:9:2681:9 | MyEither | | main.rs:2684:13:2684:13 | x | | main.rs:2678:9:2681:9 | MyEither | @@ -3903,7 +3156,6 @@ inferCertainType | main.rs:2687:13:2687:13 | x | T1 | {EXTERNAL LOCATION} | i32 | | main.rs:2687:17:2689:9 | ...::B::<...> {...} | | main.rs:2678:9:2681:9 | MyEither | | main.rs:2687:17:2689:9 | ...::B::<...> {...} | T1 | {EXTERNAL LOCATION} | i32 | -| main.rs:2688:20:2688:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | | main.rs:2691:29:2691:29 | e | | main.rs:2678:9:2681:9 | MyEither | | main.rs:2691:29:2691:29 | e | T1 | main.rs:2691:26:2691:26 | T | | main.rs:2691:29:2691:29 | e | T2 | {EXTERNAL LOCATION} | String | @@ -3911,8 +3163,6 @@ inferCertainType | main.rs:2691:59:2691:60 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2694:13:2694:13 | x | | main.rs:2678:9:2681:9 | MyEither | | main.rs:2694:17:2696:9 | ...::B {...} | | main.rs:2678:9:2681:9 | MyEither | -| main.rs:2695:20:2695:32 | ...::new(...) | | {EXTERNAL LOCATION} | String | -| main.rs:2697:9:2697:27 | pin_my_either(...) | | {EXTERNAL LOCATION} | () | | main.rs:2697:23:2697:23 | x | | main.rs:2678:9:2681:9 | MyEither | | main.rs:2700:13:2700:13 | x | | {EXTERNAL LOCATION} | Result | | main.rs:2700:13:2700:13 | x | E | {EXTERNAL LOCATION} | String | @@ -3922,41 +3172,22 @@ inferCertainType | main.rs:2704:29:2704:31 | res | T | main.rs:2704:23:2704:23 | T | | main.rs:2704:48:2704:48 | x | | main.rs:2704:26:2704:26 | E | | main.rs:2704:54:2704:55 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2707:9:2707:28 | pin_result(...) | | {EXTERNAL LOCATION} | () | | main.rs:2707:23:2707:27 | false | | {EXTERNAL LOCATION} | bool | -| main.rs:2709:17:2709:17 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:2709:17:2709:17 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:2709:21:2709:30 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| main.rs:2709:21:2709:30 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2710:9:2710:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:2710:9:2710:9 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:2713:9:2713:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:2713:9:2713:9 | x | A | {EXTERNAL LOCATION} | Global | -| main.rs:2716:9:2716:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2719:9:2719:9 | x | | {EXTERNAL LOCATION} | Vec | -| main.rs:2719:9:2719:9 | x | A | {EXTERNAL LOCATION} | Global | | main.rs:2726:14:2726:17 | SelfParam | | main.rs:2724:5:2732:5 | Self [trait MyTrait] | | main.rs:2729:14:2729:18 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:2729:14:2729:18 | SelfParam | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | | main.rs:2729:21:2729:25 | other | | {EXTERNAL LOCATION} | & | | main.rs:2729:21:2729:25 | other | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | -| main.rs:2729:44:2731:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2729:44:2731:9 | { ... } | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | | main.rs:2730:13:2730:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:2730:13:2730:16 | self | TRef | main.rs:2724:5:2732:5 | Self [trait MyTrait] | | main.rs:2736:14:2736:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | -| main.rs:2736:28:2738:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2737:13:2737:16 | self | | {EXTERNAL LOCATION} | i32 | | main.rs:2743:14:2743:17 | SelfParam | | {EXTERNAL LOCATION} | usize | -| main.rs:2743:28:2745:9 | { ... } | | {EXTERNAL LOCATION} | usize | | main.rs:2744:13:2744:16 | self | | {EXTERNAL LOCATION} | usize | | main.rs:2750:14:2750:17 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:2750:14:2750:17 | SelfParam | TRef | main.rs:2748:10:2748:10 | T | -| main.rs:2750:28:2752:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:2750:28:2752:9 | { ... } | TRef | main.rs:2748:10:2748:10 | T | | main.rs:2751:13:2751:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:2751:13:2751:16 | self | TRef | main.rs:2748:10:2748:10 | T | -| main.rs:2755:25:2759:5 | { ... } | | {EXTERNAL LOCATION} | usize | | main.rs:2761:12:2769:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2762:13:2762:13 | x | | {EXTERNAL LOCATION} | usize | | main.rs:2763:13:2763:13 | y | | {EXTERNAL LOCATION} | & | @@ -3969,154 +3200,74 @@ inferCertainType | main.rs:2783:22:2783:26 | SelfParam | TRef | main.rs:2782:5:2784:5 | Self [trait Container] | | main.rs:2786:34:2786:34 | c | | {EXTERNAL LOCATION} | & | | main.rs:2786:34:2786:34 | c | TRef | main.rs:2786:15:2786:31 | T | -| main.rs:2786:49:2788:5 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:2787:9:2787:9 | c | | {EXTERNAL LOCATION} | & | | main.rs:2787:9:2787:9 | c | TRef | main.rs:2786:15:2786:31 | T | | main.rs:2791:22:2791:26 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:2791:22:2791:26 | SelfParam | TRef | main.rs:2780:5:2780:21 | Gen | | main.rs:2791:22:2791:26 | SelfParam | TRef.T | main.rs:2790:10:2790:17 | GT | -| main.rs:2791:35:2793:9 | { ... } | | main.rs:2790:10:2790:17 | GT | | main.rs:2792:13:2792:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:2792:13:2792:16 | self | TRef | main.rs:2780:5:2780:21 | Gen | | main.rs:2792:13:2792:16 | self | TRef.T | main.rs:2790:10:2790:17 | GT | | main.rs:2796:15:2800:5 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2799:17:2799:26 | my_get(...) | | {EXTERNAL LOCATION} | bool | | main.rs:2799:24:2799:25 | &g | | {EXTERNAL LOCATION} | & | | main.rs:2803:11:2838:1 | { ... } | | {EXTERNAL LOCATION} | () | -| main.rs:2804:5:2804:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2805:5:2805:20 | ...::f(...) | | main.rs:72:5:72:21 | Foo | -| main.rs:2806:5:2806:60 | ...::g(...) | | main.rs:72:5:72:21 | Foo | | main.rs:2806:20:2806:38 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | | main.rs:2806:41:2806:59 | ...::Foo {...} | | main.rs:72:5:72:21 | Foo | -| main.rs:2807:5:2807:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2808:5:2808:41 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2809:5:2809:45 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2810:5:2810:30 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2811:5:2811:21 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2812:5:2812:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2813:5:2813:32 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2814:5:2814:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2815:5:2815:36 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2816:5:2816:35 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2817:5:2817:29 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2818:5:2818:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2819:5:2819:24 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2820:5:2820:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2821:5:2821:18 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2822:5:2822:15 | ...::f(...) | | {EXTERNAL LOCATION} | dyn Future | -| main.rs:2822:5:2822:15 | ...::f(...) | dyn(Output) | {EXTERNAL LOCATION} | () | -| main.rs:2823:5:2823:19 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2824:5:2824:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2825:5:2825:14 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2826:5:2826:27 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2827:5:2827:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2828:5:2828:43 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2829:5:2829:15 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2830:5:2830:17 | ...::f(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2831:5:2831:28 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2832:5:2832:23 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2833:5:2833:41 | ...::test_all_patterns(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2834:5:2834:49 | ...::box_patterns(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2835:5:2835:20 | ...::test(...) | | {EXTERNAL LOCATION} | () | -| main.rs:2836:5:2836:20 | ...::f(...) | | {EXTERNAL LOCATION} | Box | -| main.rs:2836:5:2836:20 | ...::f(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2836:5:2836:20 | ...::f(...) | T | main.rs:2564:5:2566:5 | dyn MyTrait | -| main.rs:2836:5:2836:20 | ...::f(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | | main.rs:2836:16:2836:19 | true | | {EXTERNAL LOCATION} | bool | -| main.rs:2837:5:2837:23 | ...::f(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:4:19:4:23 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:4:19:4:23 | SelfParam | TRef | overloading.rs:2:5:11:5 | Self [trait FirstTrait] | -| overloading.rs:4:34:6:9 | { ... } | | {EXTERNAL LOCATION} | bool | | overloading.rs:5:13:5:16 | true | | {EXTERNAL LOCATION} | bool | | overloading.rs:8:20:8:24 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:8:20:8:24 | SelfParam | TRef | overloading.rs:2:5:11:5 | Self [trait FirstTrait] | | overloading.rs:14:19:14:23 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:14:19:14:23 | SelfParam | TRef | overloading.rs:12:5:19:5 | Self [trait SecondTrait] | -| overloading.rs:14:33:16:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | overloading.rs:18:20:18:24 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:18:20:18:24 | SelfParam | TRef | overloading.rs:12:5:19:5 | Self [trait SecondTrait] | | overloading.rs:24:20:24:24 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:24:20:24:24 | SelfParam | TRef | overloading.rs:20:5:21:13 | S | -| overloading.rs:24:35:26:9 | { ... } | | {EXTERNAL LOCATION} | bool | | overloading.rs:25:13:25:16 | true | | {EXTERNAL LOCATION} | bool | -| overloading.rs:29:31:31:9 | { ... } | | {EXTERNAL LOCATION} | bool | | overloading.rs:30:13:30:16 | true | | {EXTERNAL LOCATION} | bool | | overloading.rs:35:20:35:24 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:35:20:35:24 | SelfParam | TRef | overloading.rs:20:5:21:13 | S | -| overloading.rs:35:34:37:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | overloading.rs:43:20:43:24 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:43:20:43:24 | SelfParam | TRef | overloading.rs:40:5:40:14 | S2 | -| overloading.rs:43:35:45:9 | { ... } | | {EXTERNAL LOCATION} | bool | | overloading.rs:44:13:44:17 | false | | {EXTERNAL LOCATION} | bool | -| overloading.rs:48:31:50:9 | { ... } | | {EXTERNAL LOCATION} | bool | | overloading.rs:49:13:49:17 | false | | {EXTERNAL LOCATION} | bool | | overloading.rs:53:16:70:5 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:56:13:56:15 | _b1 | | {EXTERNAL LOCATION} | bool | -| overloading.rs:56:19:56:40 | ...::method(...) | | {EXTERNAL LOCATION} | bool | | overloading.rs:56:38:56:39 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:57:13:57:15 | _b2 | | {EXTERNAL LOCATION} | bool | -| overloading.rs:57:19:57:47 | ...::method(...) | | {EXTERNAL LOCATION} | bool | | overloading.rs:57:45:57:46 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:58:13:58:15 | _b3 | | {EXTERNAL LOCATION} | bool | -| overloading.rs:58:19:58:64 | ...::method(...) | | {EXTERNAL LOCATION} | bool | | overloading.rs:58:45:58:63 | &... | | {EXTERNAL LOCATION} | & | -| overloading.rs:59:13:59:15 | _b4 | | {EXTERNAL LOCATION} | bool | -| overloading.rs:59:19:59:48 | ...::method2(...) | | {EXTERNAL LOCATION} | bool | | overloading.rs:59:46:59:47 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:60:13:60:15 | _b5 | | {EXTERNAL LOCATION} | bool | -| overloading.rs:60:19:60:65 | ...::method2(...) | | {EXTERNAL LOCATION} | bool | | overloading.rs:60:46:60:64 | &... | | {EXTERNAL LOCATION} | & | -| overloading.rs:62:13:62:15 | _n1 | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:62:19:62:41 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | | overloading.rs:62:39:62:40 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:63:13:63:15 | _n2 | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:63:19:63:48 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | | overloading.rs:63:46:63:47 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:64:13:64:15 | _n3 | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:64:19:64:65 | ...::method(...) | | {EXTERNAL LOCATION} | i64 | | overloading.rs:64:46:64:64 | &... | | {EXTERNAL LOCATION} | & | -| overloading.rs:65:13:65:15 | _n4 | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:65:19:65:49 | ...::method2(...) | | {EXTERNAL LOCATION} | i64 | | overloading.rs:65:47:65:48 | &s | | {EXTERNAL LOCATION} | & | -| overloading.rs:66:13:66:15 | _n5 | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:66:19:66:66 | ...::method2(...) | | {EXTERNAL LOCATION} | i64 | | overloading.rs:66:47:66:65 | &... | | {EXTERNAL LOCATION} | & | -| overloading.rs:68:9:68:37 | ...::function(...) | | {EXTERNAL LOCATION} | bool | -| overloading.rs:69:9:69:38 | ...::function(...) | | {EXTERNAL LOCATION} | bool | | overloading.rs:78:26:78:29 | SelfParam | | overloading.rs:77:5:81:5 | Self [trait OverlappingTrait] | | overloading.rs:80:28:80:31 | SelfParam | | overloading.rs:77:5:81:5 | Self [trait OverlappingTrait] | | overloading.rs:80:34:80:35 | s1 | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:85:26:85:29 | SelfParam | | overloading.rs:74:5:75:14 | S1 | -| overloading.rs:85:38:87:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:90:28:90:31 | SelfParam | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:90:34:90:35 | s1 | | overloading.rs:74:5:75:14 | S1 | -| overloading.rs:90:48:92:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:97:26:97:29 | SelfParam | | overloading.rs:74:5:75:14 | S1 | -| overloading.rs:97:38:99:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:98:13:98:16 | self | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:102:28:102:31 | SelfParam | | overloading.rs:74:5:75:14 | S1 | -| overloading.rs:102:40:104:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:103:13:103:16 | self | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:111:26:111:29 | SelfParam | | overloading.rs:107:5:107:22 | S2 | | overloading.rs:111:26:111:29 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:111:38:113:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:116:28:116:31 | SelfParam | | overloading.rs:107:5:107:22 | S2 | | overloading.rs:116:28:116:31 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:116:40:118:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:123:26:123:29 | SelfParam | | overloading.rs:107:5:107:22 | S2 | | overloading.rs:123:26:123:29 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | -| overloading.rs:123:38:125:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:128:28:128:31 | SelfParam | | overloading.rs:107:5:107:22 | S2 | | overloading.rs:128:28:128:31 | SelfParam | T2 | {EXTERNAL LOCATION} | i32 | | overloading.rs:128:34:128:35 | s1 | | overloading.rs:74:5:75:14 | S1 | -| overloading.rs:128:48:130:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:135:26:135:29 | SelfParam | | overloading.rs:107:5:107:22 | S2 | | overloading.rs:135:26:135:29 | SelfParam | T2 | overloading.rs:74:5:75:14 | S1 | -| overloading.rs:135:38:137:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:140:28:140:31 | SelfParam | | overloading.rs:107:5:107:22 | S2 | | overloading.rs:140:28:140:31 | SelfParam | T2 | overloading.rs:74:5:75:14 | S1 | | overloading.rs:140:34:140:35 | s1 | | overloading.rs:74:5:75:14 | S1 | -| overloading.rs:140:48:142:9 | { ... } | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:149:14:149:18 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:149:14:149:18 | SelfParam | TRef | overloading.rs:148:5:150:5 | Self [trait OverlappingTrait2] | | overloading.rs:149:21:149:21 | x | | {EXTERNAL LOCATION} | & | @@ -4126,9 +3277,6 @@ inferCertainType | overloading.rs:154:14:154:18 | SelfParam | TRef.T3 | overloading.rs:152:10:152:10 | T | | overloading.rs:154:21:154:21 | x | | {EXTERNAL LOCATION} | & | | overloading.rs:154:21:154:21 | x | TRef | overloading.rs:152:10:152:10 | T | -| overloading.rs:154:37:156:9 | { ... } | | {EXTERNAL LOCATION} | & | -| overloading.rs:154:37:156:9 | { ... } | TRef | overloading.rs:145:5:146:22 | S3 | -| overloading.rs:154:37:156:9 | { ... } | TRef.T3 | overloading.rs:152:10:152:10 | T | | overloading.rs:155:13:155:16 | self | | {EXTERNAL LOCATION} | & | | overloading.rs:155:13:155:16 | self | TRef | overloading.rs:145:5:146:22 | S3 | | overloading.rs:155:13:155:16 | self | TRef.T3 | overloading.rs:152:10:152:10 | T | @@ -4136,9 +3284,6 @@ inferCertainType | overloading.rs:161:14:161:18 | SelfParam | TRef | overloading.rs:145:5:146:22 | S3 | | overloading.rs:161:14:161:18 | SelfParam | TRef.T3 | overloading.rs:159:10:159:10 | T | | overloading.rs:161:21:161:21 | x | | overloading.rs:159:10:159:10 | T | -| overloading.rs:161:36:163:9 | { ... } | | {EXTERNAL LOCATION} | & | -| overloading.rs:161:36:163:9 | { ... } | TRef | overloading.rs:145:5:146:22 | S3 | -| overloading.rs:161:36:163:9 | { ... } | TRef.T3 | overloading.rs:159:10:159:10 | T | | overloading.rs:162:13:162:16 | self | | {EXTERNAL LOCATION} | & | | overloading.rs:162:13:162:16 | self | TRef | overloading.rs:145:5:146:22 | S3 | | overloading.rs:162:13:162:16 | self | TRef.T3 | overloading.rs:159:10:159:10 | T | @@ -4155,82 +3300,57 @@ inferCertainType | overloading.rs:197:16:223:5 | { ... } | | {EXTERNAL LOCATION} | () | | overloading.rs:199:18:199:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | overloading.rs:199:18:199:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:199:18:199:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:199:18:199:42 | { ... } | | {EXTERNAL LOCATION} | () | | overloading.rs:200:18:200:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | overloading.rs:200:18:200:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:200:18:200:45 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:200:18:200:45 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:200:26:200:45 | ...::common_method(...) | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:201:18:201:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | overloading.rs:201:18:201:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:201:18:201:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:201:18:201:44 | { ... } | | {EXTERNAL LOCATION} | () | | overloading.rs:202:18:202:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | overloading.rs:202:18:202:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:202:18:202:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:202:18:202:47 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:202:26:202:47 | ...::common_method_2(...) | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:205:18:205:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | overloading.rs:205:18:205:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:205:18:205:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:205:18:205:42 | { ... } | | {EXTERNAL LOCATION} | () | | overloading.rs:206:18:206:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | overloading.rs:206:18:206:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:206:18:206:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:206:18:206:56 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:206:26:206:56 | ...::common_method(...) | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:209:18:209:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | overloading.rs:209:18:209:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:209:18:209:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:209:18:209:42 | { ... } | | {EXTERNAL LOCATION} | () | | overloading.rs:210:18:210:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | overloading.rs:210:18:210:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:210:18:210:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:210:18:210:49 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:210:26:210:49 | ...::common_method(...) | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:211:18:211:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | overloading.rs:211:18:211:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:211:18:211:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:211:18:211:56 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:211:26:211:56 | ...::common_method(...) | | overloading.rs:74:5:75:14 | S1 | | overloading.rs:214:18:214:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | overloading.rs:214:18:214:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:214:18:214:31 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:214:18:214:31 | { ... } | | {EXTERNAL LOCATION} | () | | overloading.rs:215:18:215:23 | "{:?}\\n" | | {EXTERNAL LOCATION} | & | | overloading.rs:215:18:215:23 | "{:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| overloading.rs:215:18:215:37 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:215:18:215:37 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:215:26:215:37 | ...::m(...) | | {EXTERNAL LOCATION} | & | -| overloading.rs:215:26:215:37 | ...::m(...) | TRef | overloading.rs:145:5:146:22 | S3 | | overloading.rs:215:32:215:33 | &w | | {EXTERNAL LOCATION} | & | -| overloading.rs:218:9:218:18 | ...::m(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:218:15:218:17 | &S4 | | {EXTERNAL LOCATION} | & | | overloading.rs:219:12:219:15 | 0i32 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:220:9:220:24 | ...::m(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:220:15:220:23 | &... | | {EXTERNAL LOCATION} | & | | overloading.rs:220:19:220:22 | 0i32 | | {EXTERNAL LOCATION} | i32 | | overloading.rs:221:12:221:15 | true | | {EXTERNAL LOCATION} | bool | -| overloading.rs:222:9:222:24 | ...::m(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:222:15:222:23 | &... | | {EXTERNAL LOCATION} | & | | overloading.rs:222:19:222:22 | true | | {EXTERNAL LOCATION} | bool | | overloading.rs:228:14:228:17 | SelfParam | | overloading.rs:227:5:229:5 | Self [trait Trait1] | | overloading.rs:228:20:228:20 | x | | overloading.rs:227:18:227:19 | T1 | | overloading.rs:233:14:233:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | | overloading.rs:233:20:233:20 | x | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:233:35:235:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | overloading.rs:240:14:240:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | | overloading.rs:240:20:240:20 | x | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:240:35:242:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | overloading.rs:246:14:246:17 | SelfParam | | overloading.rs:245:5:247:5 | Self [trait Trait2] | | overloading.rs:246:20:246:20 | x | | overloading.rs:245:18:245:19 | T1 | | overloading.rs:251:14:251:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | | overloading.rs:251:20:251:20 | x | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:251:35:253:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | overloading.rs:258:14:258:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | | overloading.rs:258:20:258:20 | x | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:258:35:260:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | overloading.rs:263:12:270:5 | { ... } | | {EXTERNAL LOCATION} | () | | overloading.rs:265:21:265:24 | 0i32 | | {EXTERNAL LOCATION} | i32 | | overloading.rs:266:13:266:13 | z | | {EXTERNAL LOCATION} | i32 | @@ -4238,49 +3358,31 @@ inferCertainType | overloading.rs:268:13:268:13 | z | | {EXTERNAL LOCATION} | i64 | | overloading.rs:269:13:269:13 | z | | {EXTERNAL LOCATION} | i64 | | overloading.rs:269:26:269:29 | 0i32 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:286:35:288:9 | { ... } | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:295:35:297:9 | { ... } | | {EXTERNAL LOCATION} | bool | | overloading.rs:296:13:296:16 | true | | {EXTERNAL LOCATION} | bool | | overloading.rs:302:14:302:14 | x | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:302:29:304:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | overloading.rs:309:14:309:14 | x | | {EXTERNAL LOCATION} | bool | -| overloading.rs:309:31:311:9 | { ... } | | {EXTERNAL LOCATION} | bool | | overloading.rs:310:13:310:16 | true | | {EXTERNAL LOCATION} | bool | | overloading.rs:314:12:321:5 | { ... } | | {EXTERNAL LOCATION} | () | | overloading.rs:319:22:319:25 | true | | {EXTERNAL LOCATION} | bool | | overloading.rs:330:14:330:17 | SelfParam | | overloading.rs:327:5:331:5 | Self [trait MyTrait] | | overloading.rs:334:14:334:17 | SelfParam | | overloading.rs:325:5:325:25 | S | | overloading.rs:334:14:334:17 | SelfParam | T | {EXTERNAL LOCATION} | i64 | -| overloading.rs:334:27:336:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | overloading.rs:335:13:335:16 | self | | overloading.rs:325:5:325:25 | S | | overloading.rs:335:13:335:16 | self | T | {EXTERNAL LOCATION} | i64 | | overloading.rs:338:14:338:17 | SelfParam | | overloading.rs:325:5:325:25 | S | | overloading.rs:338:14:338:17 | SelfParam | T | {EXTERNAL LOCATION} | i64 | -| overloading.rs:338:27:340:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | overloading.rs:339:13:339:16 | self | | overloading.rs:325:5:325:25 | S | | overloading.rs:339:13:339:16 | self | T | {EXTERNAL LOCATION} | i64 | | overloading.rs:344:14:344:17 | SelfParam | | overloading.rs:325:5:325:25 | S | | overloading.rs:344:14:344:17 | SelfParam | T | {EXTERNAL LOCATION} | bool | -| overloading.rs:344:28:346:9 | { ... } | | {EXTERNAL LOCATION} | bool | | overloading.rs:345:13:345:16 | self | | overloading.rs:325:5:325:25 | S | | overloading.rs:345:13:345:16 | self | T | {EXTERNAL LOCATION} | bool | | overloading.rs:352:14:352:17 | SelfParam | | overloading.rs:325:5:325:25 | S | | overloading.rs:352:14:352:17 | SelfParam | T | overloading.rs:349:10:349:10 | T | -| overloading.rs:352:25:359:9 | { ... } | | overloading.rs:325:5:325:25 | S | -| overloading.rs:352:25:359:9 | { ... } | T | {EXTERNAL LOCATION} | i64 | -| overloading.rs:353:17:353:17 | x | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:353:21:353:47 | ...::f(...) | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:354:17:354:17 | x | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:354:21:354:61 | ...::f(...) | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:367:17:370:5 | { ... } | | overloading.rs:364:5:365:13 | S | | overloading.rs:378:17:378:17 | _ | | overloading.rs:364:5:365:13 | S | -| overloading.rs:378:31:380:9 | { ... } | | overloading.rs:372:5:372:14 | S1 | | overloading.rs:385:17:385:17 | _ | | overloading.rs:374:5:374:14 | S2 | -| overloading.rs:385:32:387:9 | { ... } | | overloading.rs:372:5:372:14 | S1 | | overloading.rs:392:17:392:17 | _ | | overloading.rs:364:5:365:13 | S | -| overloading.rs:392:31:394:9 | { ... } | | overloading.rs:374:5:374:14 | S2 | | overloading.rs:397:10:397:10 | b | | {EXTERNAL LOCATION} | bool | -| overloading.rs:397:25:401:5 | { ... } | | overloading.rs:372:5:372:14 | S1 | | overloading.rs:398:20:398:20 | b | | {EXTERNAL LOCATION} | bool | | overloading.rs:408:16:408:20 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:408:16:408:20 | SelfParam | TRef | overloading.rs:407:5:410:5 | Self [trait Trait] | @@ -4297,12 +3399,9 @@ inferCertainType | overloading.rs:422:16:422:20 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:422:16:422:20 | SelfParam | TRef | overloading.rs:405:5:405:19 | S | | overloading.rs:422:16:422:20 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | -| overloading.rs:422:23:426:9 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:423:13:423:24 | ...::foo(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:423:20:423:23 | self | | {EXTERNAL LOCATION} | & | | overloading.rs:423:20:423:23 | self | TRef | overloading.rs:405:5:405:19 | S | | overloading.rs:423:20:423:23 | self | TRef.T | {EXTERNAL LOCATION} | i32 | -| overloading.rs:424:13:424:31 | ...::foo(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:424:27:424:30 | self | | {EXTERNAL LOCATION} | & | | overloading.rs:424:27:424:30 | self | TRef | overloading.rs:405:5:405:19 | S | | overloading.rs:424:27:424:30 | self | TRef.T | {EXTERNAL LOCATION} | i32 | @@ -4312,12 +3411,9 @@ inferCertainType | overloading.rs:429:16:429:20 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:429:16:429:20 | SelfParam | TRef | overloading.rs:405:5:405:19 | S | | overloading.rs:429:16:429:20 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | -| overloading.rs:429:23:433:9 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:430:13:430:24 | ...::bar(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:430:20:430:23 | self | | {EXTERNAL LOCATION} | & | | overloading.rs:430:20:430:23 | self | TRef | overloading.rs:405:5:405:19 | S | | overloading.rs:430:20:430:23 | self | TRef.T | {EXTERNAL LOCATION} | i32 | -| overloading.rs:431:13:431:31 | ...::bar(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:431:27:431:30 | self | | {EXTERNAL LOCATION} | & | | overloading.rs:431:27:431:30 | self | TRef | overloading.rs:405:5:405:19 | S | | overloading.rs:431:27:431:30 | self | TRef.T | {EXTERNAL LOCATION} | i32 | @@ -4327,8 +3423,6 @@ inferCertainType | overloading.rs:438:16:438:20 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:438:16:438:20 | SelfParam | TRef | overloading.rs:405:5:405:19 | S | | overloading.rs:438:16:438:20 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i64 | -| overloading.rs:438:23:442:9 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:440:13:440:31 | ...::foo(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:440:27:440:30 | self | | {EXTERNAL LOCATION} | & | | overloading.rs:440:27:440:30 | self | TRef | overloading.rs:405:5:405:19 | S | | overloading.rs:440:27:440:30 | self | TRef.T | {EXTERNAL LOCATION} | i64 | @@ -4338,8 +3432,6 @@ inferCertainType | overloading.rs:445:16:445:20 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:445:16:445:20 | SelfParam | TRef | overloading.rs:405:5:405:19 | S | | overloading.rs:445:16:445:20 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i64 | -| overloading.rs:445:23:449:9 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:447:13:447:31 | ...::bar(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:447:27:447:30 | self | | {EXTERNAL LOCATION} | & | | overloading.rs:447:27:447:30 | self | TRef | overloading.rs:405:5:405:19 | S | | overloading.rs:447:27:447:30 | self | TRef.T | {EXTERNAL LOCATION} | i64 | @@ -4354,64 +3446,49 @@ inferCertainType | overloading.rs:467:14:467:18 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:467:14:467:18 | SelfParam | TRef | overloading.rs:464:5:464:19 | S | | overloading.rs:467:14:467:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | -| overloading.rs:467:28:469:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | overloading.rs:473:14:473:18 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:473:14:473:18 | SelfParam | TRef | overloading.rs:464:5:464:19 | S | | overloading.rs:473:14:473:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | -| overloading.rs:473:28:475:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | overloading.rs:481:14:481:18 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:481:14:481:18 | SelfParam | TRef | overloading.rs:464:5:464:19 | S | | overloading.rs:481:14:481:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | | overloading.rs:481:21:481:21 | x | | overloading.rs:464:5:464:19 | S | | overloading.rs:481:21:481:21 | x | T | {EXTERNAL LOCATION} | i32 | -| overloading.rs:481:48:483:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | overloading.rs:489:14:489:18 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:489:14:489:18 | SelfParam | TRef | overloading.rs:464:5:464:19 | S | | overloading.rs:489:14:489:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | | overloading.rs:489:21:489:21 | x | | overloading.rs:464:5:464:19 | S | | overloading.rs:489:21:489:21 | x | T | {EXTERNAL LOCATION} | i64 | -| overloading.rs:489:48:491:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | overloading.rs:497:14:497:18 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:497:14:497:18 | SelfParam | TRef | overloading.rs:464:5:464:19 | S | | overloading.rs:497:14:497:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | | overloading.rs:497:21:497:21 | x | | overloading.rs:464:5:464:19 | S | | overloading.rs:497:21:497:21 | x | T | {EXTERNAL LOCATION} | bool | -| overloading.rs:497:49:499:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | overloading.rs:502:36:502:36 | x | | overloading.rs:502:19:502:33 | T2 | -| overloading.rs:502:49:504:5 | { ... } | | overloading.rs:502:15:502:16 | T1 | | overloading.rs:503:9:503:9 | x | | overloading.rs:502:19:502:33 | T2 | | overloading.rs:506:38:506:38 | x | | overloading.rs:506:16:506:17 | T1 | | overloading.rs:506:45:506:45 | y | | overloading.rs:506:20:506:35 | T2 | -| overloading.rs:506:66:508:5 | { ... } | | overloading.rs:506:20:506:35 | T2::Output[MyTrait2] | | overloading.rs:507:9:507:9 | y | | overloading.rs:506:20:506:35 | T2 | | overloading.rs:507:13:507:13 | x | | overloading.rs:506:16:506:17 | T1 | | overloading.rs:510:15:522:5 | { ... } | | {EXTERNAL LOCATION} | () | | overloading.rs:513:13:513:13 | z | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:516:13:516:13 | y | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:516:17:516:35 | call_f::<...>(...) | | {EXTERNAL LOCATION} | i32 | | overloading.rs:519:27:519:30 | 0i32 | | {EXTERNAL LOCATION} | i32 | | overloading.rs:521:27:521:30 | 0i64 | | {EXTERNAL LOCATION} | i64 | -| pattern_matching.rs:13:26:133:1 | { ... } | | {EXTERNAL LOCATION} | Option | -| pattern_matching.rs:13:26:133:1 | { ... } | T | {EXTERNAL LOCATION} | () | | pattern_matching.rs:15:5:18:5 | if ... {...} | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:15:31:18:5 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:17:18:17:25 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:17:18:17:25 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:17:18:17:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:17:18:17:25 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:20:23:23:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:22:22:22:29 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:22:22:22:29 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:22:22:22:29 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:22:22:22:29 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:24:17:24:18 | TupleExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:28:14:28:21 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:28:14:28:21 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:28:14:28:21 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:28:14:28:21 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:30:14:30:21 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:30:14:30:21 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:30:14:30:21 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:30:14:30:21 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:32:9:32:14 | value2 | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:32:18:32:26 | &... | | {EXTERNAL LOCATION} | & | @@ -4421,7 +3498,6 @@ inferCertainType | pattern_matching.rs:33:33:36:5 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:35:18:35:25 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:35:18:35:25 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:35:18:35:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:35:18:35:25 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:39:5:42:5 | if ... {...} | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:39:16:39:19 | mesg | | {EXTERNAL LOCATION} | & | @@ -4430,7 +3506,6 @@ inferCertainType | pattern_matching.rs:40:20:40:23 | mesg | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:41:18:41:25 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:41:18:41:25 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:41:18:41:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:41:18:41:25 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:41:20:41:23 | mesg | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:45:5:48:5 | if ... {...} | | {EXTERNAL LOCATION} | () | @@ -4440,7 +3515,6 @@ inferCertainType | pattern_matching.rs:46:20:46:23 | mesg | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:47:18:47:25 | "{mesg}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:47:18:47:25 | "{mesg}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:47:18:47:25 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:47:18:47:25 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:47:20:47:23 | mesg | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:50:13:50:18 | value5 | | {EXTERNAL LOCATION} | & | @@ -4481,7 +3555,6 @@ inferCertainType | pattern_matching.rs:121:5:123:5 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:127:13:130:5 | if ... {...} | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:128:5:130:5 | { ... } | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:168:27:217:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:169:9:169:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:169:17:169:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:171:11:171:15 | value | | {EXTERNAL LOCATION} | i32 | @@ -4490,7 +3563,6 @@ inferCertainType | pattern_matching.rs:174:33:174:37 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:175:22:175:42 | "Literal pattern: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:175:22:175:42 | "Literal pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:175:22:175:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:175:22:175:57 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:175:45:175:57 | literal_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:177:15:180:9 | { ... } | | {EXTERNAL LOCATION} | () | @@ -4498,7 +3570,6 @@ inferCertainType | pattern_matching.rs:178:36:178:40 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:179:22:179:43 | "Negative literal: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:179:22:179:43 | "Negative literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:179:22:179:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:179:22:179:61 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:179:46:179:61 | negative_literal | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:181:14:184:9 | { ... } | | {EXTERNAL LOCATION} | () | @@ -4506,7 +3577,6 @@ inferCertainType | pattern_matching.rs:182:32:182:36 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:183:22:183:39 | "Zero literal: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:183:22:183:39 | "Zero literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:183:22:183:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:183:22:183:53 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:183:42:183:53 | zero_literal | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:185:14:185:15 | { ... } | | {EXTERNAL LOCATION} | () | @@ -4518,7 +3588,6 @@ inferCertainType | pattern_matching.rs:191:28:191:36 | float_val | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:192:22:192:37 | "Pi matched: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:192:22:192:37 | "Pi matched: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:192:22:192:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:192:22:192:47 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:192:40:192:47 | pi_match | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:194:14:194:15 | { ... } | | {EXTERNAL LOCATION} | () | @@ -4537,7 +3606,6 @@ inferCertainType | pattern_matching.rs:200:31:200:40 | string_val | TRef | {EXTERNAL LOCATION} | str | | pattern_matching.rs:201:22:201:41 | "String literal: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:201:22:201:41 | "String literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:201:22:201:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:201:22:201:54 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:201:44:201:54 | hello_match | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:201:44:201:54 | hello_match | TRef | {EXTERNAL LOCATION} | str | @@ -4551,7 +3619,6 @@ inferCertainType | pattern_matching.rs:209:30:209:37 | bool_val | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:210:22:210:39 | "True literal: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:210:22:210:39 | "True literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:210:22:210:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:210:22:210:51 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:210:42:210:51 | true_match | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:212:9:212:13 | false | | {EXTERNAL LOCATION} | bool | @@ -4560,17 +3627,14 @@ inferCertainType | pattern_matching.rs:213:31:213:38 | bool_val | | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:214:22:214:40 | "False literal: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:214:22:214:40 | "False literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:214:22:214:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:214:22:214:53 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:214:43:214:53 | false_match | | {EXTERNAL LOCATION} | bool | -| pattern_matching.rs:219:30:277:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:220:9:220:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:220:17:220:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:223:11:223:15 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:224:14:227:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:226:22:226:45 | "Identifier pattern: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:226:22:226:45 | "Identifier pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:226:22:226:58 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:226:22:226:58 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:231:11:231:16 | &value | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:231:12:231:16 | value | | {EXTERNAL LOCATION} | i32 | @@ -4580,7 +3644,6 @@ inferCertainType | pattern_matching.rs:233:29:233:29 | x | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:234:22:234:49 | "Reference identifier: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:234:22:234:49 | "Reference identifier: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:234:22:234:60 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:234:22:234:60 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:234:52:234:60 | ref_bound | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:239:13:239:25 | mutable_value | | {EXTERNAL LOCATION} | i32 | @@ -4589,28 +3652,23 @@ inferCertainType | pattern_matching.rs:241:18:245:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:244:22:244:45 | "Mutable identifier: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:244:22:244:45 | "Mutable identifier: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:244:22:244:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:244:22:244:56 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:249:39:249:43 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:251:35:254:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:253:22:253:49 | "@ pattern with literal: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:253:22:253:49 | "@ pattern with literal: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:253:22:253:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:253:22:253:59 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:255:40:258:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:257:22:257:47 | "@ pattern with range: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:257:22:257:47 | "@ pattern with range: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:257:22:257:63 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:257:22:257:63 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:259:30:262:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:261:22:261:37 | "Some value: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:261:22:261:37 | "Some value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:261:22:261:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:261:22:261:49 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:263:27:265:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:264:22:264:33 | "None value\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:264:22:264:33 | "None value\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:264:22:264:33 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:264:22:264:33 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:269:13:269:23 | ref_mut_val | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:269:27:269:30 | 5i32 | | {EXTERNAL LOCATION} | i32 | @@ -4623,25 +3681,20 @@ inferCertainType | pattern_matching.rs:273:15:273:27 | ref_mut_bound | | {EXTERNAL LOCATION} | &mut | | pattern_matching.rs:274:22:274:38 | "Ref mut pattern\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:274:22:274:38 | "Ref mut pattern\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:274:22:274:38 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:274:22:274:38 | { ... } | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:279:28:290:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:280:9:280:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:280:17:280:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:282:11:282:15 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:283:24:283:39 | "Specific match\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:283:24:283:39 | "Specific match\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:283:24:283:39 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:283:24:283:39 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:285:14:288:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:286:17:286:32 | wildcard_context | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:286:36:286:40 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:287:22:287:47 | "Wildcard pattern for: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:287:22:287:47 | "Wildcard pattern for: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:287:22:287:65 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:287:22:287:65 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:287:50:287:65 | wildcard_context | | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:292:25:324:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:293:9:293:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:293:17:293:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:295:11:295:15 | value | | {EXTERNAL LOCATION} | i32 | @@ -4650,7 +3703,6 @@ inferCertainType | pattern_matching.rs:298:35:298:39 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:299:22:299:42 | "Range inclusive: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:299:22:299:42 | "Range inclusive: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:299:22:299:59 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:299:22:299:59 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:299:45:299:59 | range_inclusive | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:301:17:304:9 | { ... } | | {EXTERNAL LOCATION} | () | @@ -4658,7 +3710,6 @@ inferCertainType | pattern_matching.rs:302:30:302:34 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:303:22:303:40 | "Range from 11: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:303:22:303:40 | "Range from 11: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:303:22:303:52 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:303:22:303:52 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:303:43:303:52 | range_from | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:305:17:308:9 | { ... } | | {EXTERNAL LOCATION} | () | @@ -4666,7 +3717,6 @@ inferCertainType | pattern_matching.rs:306:38:306:42 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:307:22:307:47 | "Range to 0 inclusive: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:307:22:307:47 | "Range to 0 inclusive: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:307:22:307:67 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:307:22:307:67 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:307:50:307:67 | range_to_inclusive | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:309:14:309:15 | { ... } | | {EXTERNAL LOCATION} | () | @@ -4680,7 +3730,6 @@ inferCertainType | pattern_matching.rs:315:34:315:41 | char_val | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:316:22:316:41 | "Lowercase char: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:316:22:316:41 | "Lowercase char: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:316:22:316:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:316:22:316:57 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:316:44:316:57 | lowercase_char | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:318:9:318:11 | 'A' | | {EXTERNAL LOCATION} | char | @@ -4690,11 +3739,9 @@ inferCertainType | pattern_matching.rs:319:34:319:41 | char_val | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:320:22:320:41 | "Uppercase char: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:320:22:320:41 | "Uppercase char: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:320:22:320:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:320:22:320:57 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:320:44:320:57 | uppercase_char | | {EXTERNAL LOCATION} | char | | pattern_matching.rs:322:14:322:15 | { ... } | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:326:29:355:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:327:9:327:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:327:17:327:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:328:13:328:25 | mutable_value | | {EXTERNAL LOCATION} | i32 | @@ -4707,14 +3754,12 @@ inferCertainType | pattern_matching.rs:333:31:333:35 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:334:22:334:45 | "Dereferenced match: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:334:22:334:45 | "Dereferenced match: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:334:22:334:58 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:334:22:334:58 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:334:48:334:58 | deref_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:336:9:336:10 | &... | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:336:15:339:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:338:22:338:47 | "Dereferenced binding: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:338:22:338:47 | "Dereferenced binding: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:338:22:338:60 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:338:22:338:60 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:342:11:342:28 | &mut mutable_value | | {EXTERNAL LOCATION} | &mut | | pattern_matching.rs:342:16:342:28 | mutable_value | | {EXTERNAL LOCATION} | i32 | @@ -4725,7 +3770,6 @@ inferCertainType | pattern_matching.rs:344:33:344:33 | x | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:345:22:345:46 | "Mutable ref pattern: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:345:22:345:46 | "Mutable ref pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:345:22:345:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:345:22:345:61 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:345:49:345:61 | mut_ref_bound | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:349:11:349:16 | &value | | {EXTERNAL LOCATION} | & | @@ -4736,10 +3780,8 @@ inferCertainType | pattern_matching.rs:351:31:351:31 | x | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:352:22:352:44 | "Reference pattern: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:352:22:352:44 | "Reference pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:352:22:352:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:352:22:352:57 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:352:47:352:57 | ref_pattern | | {EXTERNAL LOCATION} | & | -| pattern_matching.rs:357:26:398:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:358:9:358:13 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:358:17:358:38 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:361:11:361:15 | point | | pattern_matching.rs:135:1:140:1 | Point | @@ -4749,7 +3791,6 @@ inferCertainType | pattern_matching.rs:363:26:363:30 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:364:22:364:41 | "Origin point: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:364:22:364:41 | "Origin point: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:364:22:364:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:364:22:364:49 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:364:44:364:49 | origin | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:366:9:366:25 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | @@ -4758,7 +3799,6 @@ inferCertainType | pattern_matching.rs:368:32:368:36 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:369:22:369:56 | "Point on x-axis: x={}, point=... | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:369:22:369:56 | "Point on x-axis: x={}, point=... | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:369:22:369:80 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:369:22:369:80 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:369:69:369:80 | x_axis_point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:371:9:371:27 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | @@ -4767,14 +3807,12 @@ inferCertainType | pattern_matching.rs:372:31:372:35 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:373:22:373:44 | "Point with x=10: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:373:22:373:44 | "Point with x=10: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:373:22:373:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:373:22:373:57 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:373:47:373:57 | ten_x_point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:375:9:375:22 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:375:27:379:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:378:22:378:46 | "General point: ({}, {})\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:378:22:378:46 | "General point: ({}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:378:22:378:68 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:378:22:378:68 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:383:9:383:13 | shape | | pattern_matching.rs:145:1:150:1 | Shape | | pattern_matching.rs:383:17:386:5 | ...::Rectangle {...} | | pattern_matching.rs:145:1:150:1 | Shape | @@ -4783,34 +3821,27 @@ inferCertainType | pattern_matching.rs:391:14:395:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:394:22:394:39 | "Rectangle: {}x{}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:394:22:394:39 | "Rectangle: {}x{}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:394:22:394:64 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:394:22:394:64 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:396:14:396:15 | { ... } | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:400:32:441:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:405:29:408:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:407:22:407:37 | "Pure red: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:407:22:407:37 | "Pure red: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:407:22:407:48 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:407:22:407:48 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:409:27:417:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:414:17:414:37 | "Color: ({}, {}, {})\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:414:17:414:37 | "Color: ({}, {}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:414:17:415:62 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:414:17:415:62 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:422:27:425:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:424:22:424:42 | "Reddish color: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:424:22:424:42 | "Reddish color: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:424:22:424:57 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:424:22:424:57 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:426:25:429:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:428:22:428:45 | "Any color with red: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:428:22:428:45 | "Any color with red: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:428:22:428:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:428:22:428:54 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:436:23:439:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:438:22:438:34 | "Wrapped: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:438:22:438:34 | "Wrapped: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:438:22:438:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:438:22:438:49 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:443:25:498:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:444:9:444:13 | tuple | | {EXTERNAL LOCATION} | (T_3) | @@ -4825,20 +3856,17 @@ inferCertainType | pattern_matching.rs:449:31:449:35 | tuple | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:450:22:450:40 | "Exact tuple: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:450:22:450:40 | "Exact tuple: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:450:22:450:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:450:22:450:53 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:450:43:450:53 | exact_tuple | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:452:9:452:17 | TuplePat | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:452:22:457:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:456:22:456:42 | "Tuple: ({}, {}, {})\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:456:22:456:42 | "Tuple: ({}, {}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:456:22:456:79 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:456:22:456:79 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:461:11:461:15 | tuple | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:462:24:465:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:464:22:464:40 | "First element: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:464:22:464:40 | "First element: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:464:22:464:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:464:22:464:53 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:469:9:469:12 | unit | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:469:16:469:17 | TupleExpr | | {EXTERNAL LOCATION} | () | @@ -4849,7 +3877,6 @@ inferCertainType | pattern_matching.rs:472:30:472:33 | unit | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:473:22:473:39 | "Unit value: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:473:22:473:39 | "Unit value: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:473:22:473:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:473:22:473:51 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:473:42:473:51 | unit_value | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:478:9:478:14 | single | | {EXTERNAL LOCATION} | (T_1) | @@ -4860,7 +3887,6 @@ inferCertainType | pattern_matching.rs:480:17:483:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:482:22:482:47 | "Single element tuple: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:482:22:482:47 | "Single element tuple: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:482:22:482:60 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:482:22:482:60 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:487:9:487:18 | ref_tuple1 | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:487:9:487:18 | ref_tuple1 | TRef | {EXTERNAL LOCATION} | (T_2) | @@ -4877,11 +3903,9 @@ inferCertainType | pattern_matching.rs:488:32:491:5 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:489:18:489:24 | "n: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:489:18:489:24 | "n: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:489:18:489:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:489:18:489:27 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:490:18:490:24 | "m: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:490:18:490:24 | "m: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:490:18:490:27 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:490:18:490:27 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:494:9:494:18 | ref_tuple2 | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:494:9:494:18 | ref_tuple2 | TRef | {EXTERNAL LOCATION} | (T_2) | @@ -4896,20 +3920,16 @@ inferCertainType | pattern_matching.rs:495:18:495:27 | ref_tuple2 | TRef.T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:496:14:496:20 | "n: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:496:14:496:20 | "n: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:496:14:496:23 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:496:14:496:23 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:497:14:497:20 | "m: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:497:14:497:20 | "m: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:497:14:497:23 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:497:14:497:23 | { ... } | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:500:33:520:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:501:9:501:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:501:17:501:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:504:11:504:15 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:505:16:508:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:507:22:507:48 | "Parenthesized pattern: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:507:22:507:48 | "Parenthesized pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:507:22:507:61 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:507:22:507:61 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:512:9:512:13 | tuple | | {EXTERNAL LOCATION} | (T_2) | | pattern_matching.rs:512:17:512:28 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | @@ -4920,9 +3940,7 @@ inferCertainType | pattern_matching.rs:514:21:518:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:517:22:517:53 | "Parenthesized in tuple: {}, {... | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:517:22:517:53 | "Parenthesized in tuple: {}, {... | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:517:22:517:71 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:517:22:517:71 | { ... } | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:522:25:563:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:523:9:523:13 | slice | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:523:9:523:13 | slice | TRef | {EXTERNAL LOCATION} | [] | | pattern_matching.rs:523:9:523:13 | slice | TRef.TSlice | {EXTERNAL LOCATION} | i32 | @@ -4940,7 +3958,6 @@ inferCertainType | pattern_matching.rs:528:31:528:35 | slice | TRef.TSlice | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:529:22:529:40 | "Empty slice: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:529:22:529:40 | "Empty slice: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:529:22:529:53 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:529:22:529:53 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:529:43:529:53 | empty_slice | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:529:43:529:53 | empty_slice | TRef | {EXTERNAL LOCATION} | [] | @@ -4948,17 +3965,14 @@ inferCertainType | pattern_matching.rs:531:16:534:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:533:22:533:41 | "Single element: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:533:22:533:41 | "Single element: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:533:22:533:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:533:22:533:54 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:535:28:539:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:538:22:538:43 | "Two elements: {}, {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:538:22:538:43 | "Two elements: {}, {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:538:22:538:70 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:538:22:538:70 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:540:39:550:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:545:17:545:53 | "First: {}, last: {}, middle l... | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:545:17:545:53 | "First: {}, last: {}, middle l... | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:545:17:548:34 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:545:17:548:34 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:554:9:554:13 | array | | {EXTERNAL LOCATION} | [;] | | pattern_matching.rs:554:17:554:28 | [...] | | {EXTERNAL LOCATION} | [;] | @@ -4967,9 +3981,8 @@ inferCertainType | pattern_matching.rs:556:22:561:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:560:22:560:49 | "Array elements: {}, {}, {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:560:22:560:49 | "Array elements: {}, {}, {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:560:22:560:70 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:560:22:560:70 | { ... } | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:565:24:601:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:566:5:567:29 | const CONSTANT | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:568:9:568:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:568:17:568:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:570:11:570:15 | value | | {EXTERNAL LOCATION} | i32 | @@ -4978,7 +3991,6 @@ inferCertainType | pattern_matching.rs:572:31:572:35 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:573:22:573:43 | "Matches constant: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:573:22:573:43 | "Matches constant: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:573:22:573:56 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:573:22:573:56 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:573:46:573:56 | const_match | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:575:14:575:15 | { ... } | | {EXTERNAL LOCATION} | () | @@ -4986,24 +3998,19 @@ inferCertainType | pattern_matching.rs:581:27:583:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:582:22:582:35 | "None variant\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:582:22:582:35 | "None variant\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:582:22:582:35 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:582:22:582:35 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:584:30:587:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:586:22:586:37 | "Some value: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:586:22:586:37 | "Some value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:586:22:586:49 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:586:22:586:49 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:592:39:595:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:594:22:594:35 | "Ok value: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:594:22:594:35 | "Ok value: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:594:22:594:45 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:594:22:594:45 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:596:40:599:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:598:22:598:32 | "Error: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:598:22:598:32 | "Error: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:598:22:598:43 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:598:22:598:43 | { ... } | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:603:22:638:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:604:9:604:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:604:17:604:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:607:11:607:15 | value | | {EXTERNAL LOCATION} | i32 | @@ -5012,7 +4019,6 @@ inferCertainType | pattern_matching.rs:609:29:609:33 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:610:22:610:39 | "Small number: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:610:22:610:39 | "Small number: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:610:22:610:50 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:610:22:610:50 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:610:42:610:50 | small_num | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:612:20:615:9 | { ... } | | {EXTERNAL LOCATION} | () | @@ -5020,7 +4026,6 @@ inferCertainType | pattern_matching.rs:613:29:613:33 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:614:22:614:39 | "Round number: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:614:22:614:39 | "Round number: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:614:22:614:50 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:614:22:614:50 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:614:42:614:50 | round_num | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:616:14:616:15 | { ... } | | {EXTERNAL LOCATION} | () | @@ -5032,7 +4037,6 @@ inferCertainType | pattern_matching.rs:622:58:626:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:625:22:625:46 | "Point on axis: ({}, {})\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:625:22:625:46 | "Point on axis: ({}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:625:22:625:62 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:625:22:625:62 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:627:14:627:15 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:631:11:631:15 | value | | {EXTERNAL LOCATION} | i32 | @@ -5041,11 +4045,9 @@ inferCertainType | pattern_matching.rs:633:34:633:38 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:634:22:634:35 | "In range: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:634:22:634:35 | "In range: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:634:22:634:51 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:634:22:634:51 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:634:38:634:51 | range_or_value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:636:14:636:15 | { ... } | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:640:24:674:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:641:9:641:13 | tuple | | {EXTERNAL LOCATION} | (T_4) | | pattern_matching.rs:641:17:641:41 | TupleExpr | | {EXTERNAL LOCATION} | (T_4) | | pattern_matching.rs:641:18:641:21 | 1i32 | | {EXTERNAL LOCATION} | i32 | @@ -5056,19 +4058,16 @@ inferCertainType | pattern_matching.rs:645:24:648:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:647:22:647:42 | "First with rest: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:647:22:647:42 | "First with rest: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:647:22:647:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:647:22:647:54 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:651:11:651:15 | tuple | | {EXTERNAL LOCATION} | (T_4) | | pattern_matching.rs:652:23:655:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:654:22:654:41 | "Last with rest: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:654:22:654:41 | "Last with rest: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:654:22:654:52 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:654:22:654:52 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:658:11:658:15 | tuple | | {EXTERNAL LOCATION} | (T_4) | | pattern_matching.rs:659:30:663:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:662:22:662:45 | "First and last: {}, {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:662:22:662:45 | "First and last: {}, {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:662:22:662:67 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:662:22:662:67 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:667:9:667:13 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:667:17:667:38 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | @@ -5077,7 +4076,6 @@ inferCertainType | pattern_matching.rs:669:28:672:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:671:22:671:39 | "X coordinate: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:671:22:671:39 | "X coordinate: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:671:22:671:47 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:671:22:671:47 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:676:25:696:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:694:21:694:25 | 42i32 | | {EXTERNAL LOCATION} | i32 | @@ -5086,7 +4084,6 @@ inferCertainType | pattern_matching.rs:695:21:695:25 | 10i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:695:21:695:25 | 10i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:695:21:695:25 | { ... } | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:698:34:724:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:700:9:700:20 | complex_data | | {EXTERNAL LOCATION} | (T_2) | | pattern_matching.rs:700:24:700:79 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | | pattern_matching.rs:700:25:700:44 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | @@ -5096,7 +4093,6 @@ inferCertainType | pattern_matching.rs:704:66:712:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:709:17:709:57 | "Complex nested: y={}, green={... | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:709:17:709:57 | "Complex nested: y={}, green={... | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:709:17:710:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:709:17:710:44 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:714:9:714:41 | TuplePat | | {EXTERNAL LOCATION} | (T_2) | | pattern_matching.rs:714:10:714:24 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | @@ -5105,12 +4101,10 @@ inferCertainType | pattern_matching.rs:714:76:717:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:716:22:716:50 | "Alternative complex: x={:?}\\n... | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:716:22:716:50 | "Alternative complex: x={:?}\\n... | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:716:22:716:65 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:716:22:716:65 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:719:18:722:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:721:22:721:47 | "Other complex data: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:721:22:721:47 | "Other complex data: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:721:22:721:62 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:721:22:721:62 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:726:37:758:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:728:9:728:13 | point | | pattern_matching.rs:135:1:140:1 | Point | @@ -5143,44 +4137,22 @@ inferCertainType | pattern_matching.rs:757:19:757:25 | mut_val | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:760:42:789:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:763:22:763:35 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | -| pattern_matching.rs:763:59:767:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| pattern_matching.rs:763:59:767:5 | { ... } | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:763:59:767:5 | { ... } | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:766:9:766:26 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | | pattern_matching.rs:769:22:769:35 | Color(...) | | pattern_matching.rs:142:1:143:25 | Color | -| pattern_matching.rs:769:51:772:5 | { ... } | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:774:22:774:38 | TuplePat | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:774:22:774:38 | TuplePat | T0 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:774:22:774:38 | TuplePat | T1 | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:774:22:774:38 | TuplePat | T2 | {EXTERNAL LOCATION} | bool | -| pattern_matching.rs:774:74:778:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| pattern_matching.rs:774:74:778:5 | { ... } | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:774:74:778:5 | { ... } | T1 | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:777:9:777:34 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | | pattern_matching.rs:781:9:781:13 | point | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:781:17:781:37 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | -| pattern_matching.rs:782:9:782:17 | extracted | | {EXTERNAL LOCATION} | (T_2) | -| pattern_matching.rs:782:9:782:17 | extracted | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:782:9:782:17 | extracted | T1 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:782:21:782:40 | extract_point(...) | | {EXTERNAL LOCATION} | (T_2) | -| pattern_matching.rs:782:21:782:40 | extract_point(...) | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:782:21:782:40 | extract_point(...) | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:782:35:782:39 | point | | pattern_matching.rs:135:1:140:1 | Point | -| pattern_matching.rs:785:9:785:11 | red | | {EXTERNAL LOCATION} | u8 | -| pattern_matching.rs:785:15:785:34 | extract_color(...) | | {EXTERNAL LOCATION} | u8 | | pattern_matching.rs:787:9:787:13 | tuple | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:787:17:787:38 | TupleExpr | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:787:18:787:22 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:787:25:787:31 | 3.14f64 | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:787:34:787:37 | true | | {EXTERNAL LOCATION} | bool | -| pattern_matching.rs:788:9:788:23 | tuple_extracted | | {EXTERNAL LOCATION} | (T_2) | -| pattern_matching.rs:788:9:788:23 | tuple_extracted | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:788:9:788:23 | tuple_extracted | T1 | {EXTERNAL LOCATION} | bool | -| pattern_matching.rs:788:27:788:46 | extract_tuple(...) | | {EXTERNAL LOCATION} | (T_2) | -| pattern_matching.rs:788:27:788:46 | extract_tuple(...) | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:788:27:788:46 | extract_tuple(...) | T1 | {EXTERNAL LOCATION} | bool | | pattern_matching.rs:788:41:788:45 | tuple | | {EXTERNAL LOCATION} | (T_3) | -| pattern_matching.rs:792:35:824:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:794:23:794:42 | (...) | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:794:23:794:42 | Point {...} | | pattern_matching.rs:135:1:140:1 | Point | | pattern_matching.rs:794:45:794:64 | (...) | | pattern_matching.rs:135:1:140:1 | Point | @@ -5190,14 +4162,12 @@ inferCertainType | pattern_matching.rs:795:34:799:5 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:798:18:798:42 | "Point in loop: ({}, {})\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:798:18:798:42 | "Point in loop: ({}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:798:18:798:58 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:798:18:798:58 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:802:39:802:43 | 42i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:803:5:806:5 | if ... {...} | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:803:50:806:5 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:805:18:805:44 | "If let with @ pattern: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:805:18:805:44 | "If let with @ pattern: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:805:18:805:54 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:805:18:805:54 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:809:13:809:17 | stack | | {EXTERNAL LOCATION} | Vec | | pattern_matching.rs:809:13:809:17 | stack | A | {EXTERNAL LOCATION} | Global | @@ -5210,7 +4180,6 @@ inferCertainType | pattern_matching.rs:810:37:813:5 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:812:18:812:29 | "Popped: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:812:18:812:29 | "Popped: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:812:18:812:42 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:812:18:812:42 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:816:9:816:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:816:17:816:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | @@ -5218,48 +4187,23 @@ inferCertainType | pattern_matching.rs:818:23:821:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:820:22:820:35 | "Positive: {}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:820:22:820:35 | "Positive: {}\\n" | TRef | {EXTERNAL LOCATION} | str | -| pattern_matching.rs:820:22:820:44 | ...::_print(...) | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:820:22:820:44 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:822:14:822:15 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:826:28:846:1 | { ... } | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:827:5:827:7 | f(...) | | {EXTERNAL LOCATION} | Option | -| pattern_matching.rs:827:5:827:7 | f(...) | T | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:828:5:828:22 | literal_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:829:5:829:25 | identifier_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:830:5:830:23 | wildcard_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:831:5:831:20 | range_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:832:5:832:24 | reference_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:833:5:833:21 | record_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:834:5:834:27 | tuple_struct_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:835:5:835:20 | tuple_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:836:5:836:28 | parenthesized_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:837:5:837:20 | slice_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:838:5:838:19 | path_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:839:5:839:17 | or_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:840:5:840:19 | rest_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:841:5:841:20 | macro_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:842:5:842:29 | complex_nested_patterns(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:843:5:843:32 | patterns_in_let_statements(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:844:5:844:37 | patterns_in_function_parameters(...) | | {EXTERNAL LOCATION} | () | -| pattern_matching.rs:845:5:845:30 | patterns_in_control_flow(...) | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:3:28:3:28 | x | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:3:28:3:28 | x | TPtrConst | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:3:50:6:1 | { ... } | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:4:24:4:24 | x | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:4:24:4:24 | x | TPtrConst | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:8:26:8:26 | x | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:8:26:8:26 | x | TPtrMut | {EXTERNAL LOCATION} | bool | -| raw_pointer.rs:8:47:11:1 | { ... } | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:9:24:9:24 | x | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:9:24:9:24 | x | TPtrMut | {EXTERNAL LOCATION} | bool | -| raw_pointer.rs:13:23:19:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:14:9:14:9 | a | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:15:9:15:9 | x | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:15:13:15:24 | &raw const a | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:15:24:15:24 | a | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:16:5:18:5 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:17:19:17:19 | x | | {EXTERNAL LOCATION} | *const | -| raw_pointer.rs:21:21:27:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:22:13:22:13 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:22:17:22:21 | 10i32 | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:23:9:23:9 | x | | {EXTERNAL LOCATION} | *mut | @@ -5268,72 +4212,41 @@ inferCertainType | raw_pointer.rs:24:5:26:5 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:25:19:25:19 | x | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:29:18:29:21 | cond | | {EXTERNAL LOCATION} | bool | -| raw_pointer.rs:29:30:40:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:30:9:30:9 | a | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:30:13:30:17 | 10i32 | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:32:9:32:19 | ptr_written | | {EXTERNAL LOCATION} | *mut | -| raw_pointer.rs:32:23:32:32 | null_mut(...) | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:33:5:39:5 | if cond {...} | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:33:8:33:11 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:34:9:38:9 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:36:14:36:24 | ptr_written | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:36:28:36:28 | a | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:37:23:37:33 | ptr_written | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:42:24:42:27 | cond | | {EXTERNAL LOCATION} | bool | -| raw_pointer.rs:42:36:51:1 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:44:9:44:16 | ptr_read | | {EXTERNAL LOCATION} | *mut | -| raw_pointer.rs:44:20:44:29 | null_mut(...) | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:45:5:50:5 | if cond {...} | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:45:8:45:11 | cond | | {EXTERNAL LOCATION} | bool | | raw_pointer.rs:46:9:49:9 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:48:17:48:18 | _y | | {EXTERNAL LOCATION} | i64 | -| raw_pointer.rs:48:28:48:35 | ptr_read | | {EXTERNAL LOCATION} | *mut | | raw_pointer.rs:53:15:60:1 | { ... } | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:54:5:54:32 | raw_pointer_const_deref(...) | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:54:29:54:31 | &10 | | {EXTERNAL LOCATION} | & | -| raw_pointer.rs:55:5:55:36 | raw_pointer_mut_deref(...) | | {EXTERNAL LOCATION} | i32 | | raw_pointer.rs:55:27:55:35 | &mut true | | {EXTERNAL LOCATION} | &mut | | raw_pointer.rs:55:32:55:35 | true | | {EXTERNAL LOCATION} | bool | -| raw_pointer.rs:56:5:56:22 | raw_const_borrow(...) | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:57:5:57:20 | raw_mut_borrow(...) | | {EXTERNAL LOCATION} | () | -| raw_pointer.rs:58:5:58:24 | raw_mut_write(...) | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:58:19:58:23 | false | | {EXTERNAL LOCATION} | bool | -| raw_pointer.rs:59:5:59:30 | raw_type_from_deref(...) | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:59:25:59:29 | false | | {EXTERNAL LOCATION} | bool | | regressions.rs:10:17:10:17 | s | | regressions.rs:3:5:3:23 | S | | regressions.rs:10:17:10:17 | s | T | regressions.rs:9:10:9:10 | T | -| regressions.rs:10:34:12:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| regressions.rs:10:34:12:9 | { ... } | T | regressions.rs:9:10:9:10 | T | | regressions.rs:11:18:11:18 | s | | regressions.rs:3:5:3:23 | S | | regressions.rs:11:18:11:18 | s | T | regressions.rs:9:10:9:10 | T | -| regressions.rs:15:21:33:5 | { ... } | | regressions.rs:5:5:7:5 | E | -| regressions.rs:16:17:16:21 | vec_e | | {EXTERNAL LOCATION} | Vec | -| regressions.rs:16:17:16:21 | vec_e | A | {EXTERNAL LOCATION} | Global | -| regressions.rs:16:25:16:34 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| regressions.rs:16:25:16:34 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | regressions.rs:19:13:19:13 | e | | regressions.rs:5:5:7:5 | E | | regressions.rs:19:17:19:40 | ...::V {...} | | regressions.rs:5:5:7:5 | E | -| regressions.rs:19:29:19:38 | ...::new(...) | | {EXTERNAL LOCATION} | Vec | -| regressions.rs:19:29:19:38 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | | regressions.rs:21:9:23:9 | if ... {...} | | {EXTERNAL LOCATION} | () | | regressions.rs:21:32:23:9 | { ... } | | {EXTERNAL LOCATION} | () | -| regressions.rs:22:13:22:17 | vec_e | | {EXTERNAL LOCATION} | Vec | -| regressions.rs:22:13:22:17 | vec_e | A | {EXTERNAL LOCATION} | Global | | regressions.rs:24:17:24:17 | e | | regressions.rs:5:5:7:5 | E | | regressions.rs:27:17:30:9 | if ... {...} | | {EXTERNAL LOCATION} | () | -| regressions.rs:27:37:27:41 | vec_e | | {EXTERNAL LOCATION} | Vec | -| regressions.rs:27:37:27:41 | vec_e | A | {EXTERNAL LOCATION} | Global | | regressions.rs:28:9:30:9 | { ... } | | {EXTERNAL LOCATION} | () | | regressions.rs:48:16:48:19 | SelfParam | | regressions.rs:39:5:40:14 | S1 | | regressions.rs:48:22:48:25 | _rhs | | regressions.rs:39:5:40:14 | S1 | -| regressions.rs:48:50:50:9 | { ... } | | regressions.rs:39:5:40:14 | S1 | | regressions.rs:57:16:57:19 | SelfParam | | regressions.rs:39:5:40:14 | S1 | | regressions.rs:57:22:57:25 | _rhs | | regressions.rs:41:5:42:14 | S2 | -| regressions.rs:57:48:59:9 | { ... } | | regressions.rs:41:5:42:14 | S2 | | regressions.rs:66:16:66:19 | SelfParam | | regressions.rs:39:5:40:14 | S1 | | regressions.rs:66:22:66:26 | other | | {EXTERNAL LOCATION} | & | | regressions.rs:66:22:66:26 | other | TRef | regressions.rs:41:5:42:14 | S2 | -| regressions.rs:66:61:68:9 | { ... } | | regressions.rs:41:5:42:14 | S2 | | regressions.rs:67:22:67:25 | self | | regressions.rs:39:5:40:14 | S1 | | regressions.rs:67:29:67:33 | other | | {EXTERNAL LOCATION} | & | | regressions.rs:67:29:67:33 | other | TRef | regressions.rs:41:5:42:14 | S2 | @@ -5341,14 +4254,10 @@ inferCertainType | regressions.rs:74:22:74:24 | &s2 | | {EXTERNAL LOCATION} | & | | regressions.rs:82:20:82:24 | value | | regressions.rs:81:18:81:18 | T | | regressions.rs:86:20:86:20 | s | | regressions.rs:85:10:85:10 | T | -| regressions.rs:86:34:88:9 | { ... } | | regressions.rs:85:10:85:10 | T | | regressions.rs:87:13:87:13 | s | | regressions.rs:85:10:85:10 | T | | regressions.rs:92:20:92:22 | val | | regressions.rs:91:10:91:10 | T | -| regressions.rs:92:41:94:9 | { ... } | | {EXTERNAL LOCATION} | Option | -| regressions.rs:92:41:94:9 | { ... } | T | regressions.rs:91:10:91:10 | T | | regressions.rs:93:18:93:20 | val | | regressions.rs:91:10:91:10 | T | | regressions.rs:99:22:99:22 | x | | regressions.rs:99:18:99:19 | T2 | -| regressions.rs:103:5:107:5 | { ... } | | regressions.rs:99:18:99:19 | T2 | | regressions.rs:104:33:104:33 | x | | regressions.rs:99:18:99:19 | T2 | | regressions.rs:113:14:113:17 | SelfParam | | regressions.rs:111:5:114:5 | Self [trait MyTrait] | | regressions.rs:118:14:118:17 | SelfParam | | {EXTERNAL LOCATION} | & | @@ -5361,27 +4270,17 @@ inferCertainType | regressions.rs:128:24:128:27 | self | T | regressions.rs:123:10:123:10 | T | | regressions.rs:139:17:139:17 | _ | | {EXTERNAL LOCATION} | & | | regressions.rs:139:17:139:17 | _ | TRef | regressions.rs:135:5:135:14 | S1 | -| regressions.rs:139:33:141:9 | { ... } | | regressions.rs:136:5:136:22 | S2 | -| regressions.rs:139:33:141:9 | { ... } | T2 | regressions.rs:135:5:135:14 | S1 | | regressions.rs:145:17:145:17 | t | | regressions.rs:144:10:144:10 | T | -| regressions.rs:145:31:147:9 | { ... } | | regressions.rs:136:5:136:22 | S2 | -| regressions.rs:145:31:147:9 | { ... } | T2 | regressions.rs:144:10:144:10 | T | | regressions.rs:146:16:146:16 | t | | regressions.rs:144:10:144:10 | T | -| regressions.rs:150:24:153:5 | { ... } | | regressions.rs:136:5:136:22 | S2 | -| regressions.rs:150:24:153:5 | { ... } | T2 | regressions.rs:135:5:135:14 | S1 | | regressions.rs:164:16:164:19 | SelfParam | | regressions.rs:158:5:158:19 | S | | regressions.rs:164:16:164:19 | SelfParam | T | regressions.rs:160:10:160:10 | T | | regressions.rs:164:22:164:25 | _rhs | | regressions.rs:158:5:158:19 | S | | regressions.rs:164:22:164:25 | _rhs | T | regressions.rs:160:10:160:10 | T | -| regressions.rs:164:50:166:9 | { ... } | | regressions.rs:158:5:158:19 | S | -| regressions.rs:164:50:166:9 | { ... } | T | regressions.rs:160:10:160:10 | T | | regressions.rs:165:13:165:16 | self | | regressions.rs:158:5:158:19 | S | | regressions.rs:165:13:165:16 | self | T | regressions.rs:160:10:160:10 | T | | regressions.rs:173:16:173:19 | SelfParam | | regressions.rs:158:5:158:19 | S | | regressions.rs:173:16:173:19 | SelfParam | T | regressions.rs:169:10:169:10 | T | | regressions.rs:173:22:173:25 | _rhs | | regressions.rs:169:10:169:10 | T | -| regressions.rs:173:47:175:9 | { ... } | | regressions.rs:158:5:158:19 | S | -| regressions.rs:173:47:175:9 | { ... } | T | regressions.rs:169:10:169:10 | T | | regressions.rs:174:13:174:16 | self | | regressions.rs:158:5:158:19 | S | | regressions.rs:174:13:174:16 | self | T | regressions.rs:169:10:169:10 | T | | regressions.rs:178:14:180:5 | { ... } | | {EXTERNAL LOCATION} | () | @@ -5434,10 +4333,8 @@ inferType | associated_types.rs:81:9:81:11 | 'a' | | {EXTERNAL LOCATION} | char | | associated_types.rs:92:15:92:18 | SelfParam | | associated_types.rs:88:5:103:5 | Self [trait MyTrait] | | associated_types.rs:94:15:94:18 | SelfParam | | associated_types.rs:88:5:103:5 | Self [trait MyTrait] | -| associated_types.rs:98:9:102:9 | { ... } | | associated_types.rs:89:9:89:28 | AssociatedType[MyTrait] | | associated_types.rs:99:13:99:16 | self | | associated_types.rs:88:5:103:5 | Self [trait MyTrait] | | associated_types.rs:99:13:99:21 | self.m1() | | associated_types.rs:89:9:89:28 | AssociatedType[MyTrait] | -| associated_types.rs:101:13:101:43 | ...::default(...) | | associated_types.rs:89:9:89:28 | AssociatedType[MyTrait] | | associated_types.rs:109:15:109:18 | SelfParam | | associated_types.rs:10:1:11:9 | S | | associated_types.rs:109:45:111:9 | { ... } | | associated_types.rs:16:1:17:10 | S3 | | associated_types.rs:110:13:110:14 | S3 | | associated_types.rs:16:1:17:10 | S3 | @@ -7214,29 +6111,23 @@ inferType | dereference.rs:144:17:144:26 | key_to_key | S | {EXTERNAL LOCATION} | RandomState | | dereference.rs:144:17:144:26 | key_to_key | V | {EXTERNAL LOCATION} | & | | dereference.rs:144:17:144:26 | key_to_key | V.TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:144:30:144:57 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | -| dereference.rs:144:30:144:57 | ...::new(...) | K | {EXTERNAL LOCATION} | & | -| dereference.rs:144:30:144:57 | ...::new(...) | K.TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:144:30:144:57 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | -| dereference.rs:144:30:144:57 | ...::new(...) | V | {EXTERNAL LOCATION} | & | -| dereference.rs:144:30:144:57 | ...::new(...) | V.TRef | dereference.rs:122:5:123:21 | Key | +| dereference.rs:144:30:144:54 | ...::new(...) | | {EXTERNAL LOCATION} | HashMap | +| dereference.rs:144:30:144:54 | ...::new(...) | K | {EXTERNAL LOCATION} | & | +| dereference.rs:144:30:144:54 | ...::new(...) | K.TRef | dereference.rs:122:5:123:21 | Key | +| dereference.rs:144:30:144:54 | ...::new(...) | S | {EXTERNAL LOCATION} | RandomState | +| dereference.rs:144:30:144:54 | ...::new(...) | V | {EXTERNAL LOCATION} | & | +| dereference.rs:144:30:144:54 | ...::new(...) | V.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:145:17:145:19 | key | | {EXTERNAL LOCATION} | & | | dereference.rs:145:17:145:19 | key | TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:145:17:145:19 | key | TRef | {EXTERNAL LOCATION} | & | -| dereference.rs:145:17:145:19 | key | TRef.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:145:23:145:29 | &... | | {EXTERNAL LOCATION} | & | | dereference.rs:145:23:145:29 | &... | TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:145:23:145:29 | &... | TRef | {EXTERNAL LOCATION} | & | -| dereference.rs:145:23:145:29 | &... | TRef.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:145:24:145:29 | Key {...} | | dereference.rs:122:5:123:21 | Key | | dereference.rs:146:9:149:9 | if ... {...} | | {EXTERNAL LOCATION} | () | | dereference.rs:146:16:146:28 | Some(...) | | {EXTERNAL LOCATION} | Option | | dereference.rs:146:16:146:28 | Some(...) | T | {EXTERNAL LOCATION} | & | -| dereference.rs:146:16:146:28 | Some(...) | T.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:146:16:146:28 | Some(...) | T.TRef | {EXTERNAL LOCATION} | & | | dereference.rs:146:16:146:28 | Some(...) | T.TRef.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:146:21:146:27 | ref_key | | {EXTERNAL LOCATION} | & | -| dereference.rs:146:21:146:27 | ref_key | TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:146:21:146:27 | ref_key | TRef | {EXTERNAL LOCATION} | & | | dereference.rs:146:21:146:27 | ref_key | TRef.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:146:32:146:41 | key_to_key | | {EXTERNAL LOCATION} | HashMap | @@ -7247,13 +6138,10 @@ inferType | dereference.rs:146:32:146:41 | key_to_key | V.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:146:32:146:50 | key_to_key.get(...) | | {EXTERNAL LOCATION} | Option | | dereference.rs:146:32:146:50 | key_to_key.get(...) | T | {EXTERNAL LOCATION} | & | -| dereference.rs:146:32:146:50 | key_to_key.get(...) | T.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:146:32:146:50 | key_to_key.get(...) | T.TRef | {EXTERNAL LOCATION} | & | | dereference.rs:146:32:146:50 | key_to_key.get(...) | T.TRef.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:146:47:146:49 | key | | {EXTERNAL LOCATION} | & | | dereference.rs:146:47:146:49 | key | TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:146:47:146:49 | key | TRef | {EXTERNAL LOCATION} | & | -| dereference.rs:146:47:146:49 | key | TRef.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:146:52:149:9 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:148:13:148:15 | key | | {EXTERNAL LOCATION} | & | | dereference.rs:148:13:148:15 | key | TRef | dereference.rs:122:5:123:21 | Key | @@ -7261,7 +6149,6 @@ inferType | dereference.rs:148:13:148:15 | key | TRef.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:148:13:148:25 | ... = ... | | {EXTERNAL LOCATION} | () | | dereference.rs:148:19:148:25 | ref_key | | {EXTERNAL LOCATION} | & | -| dereference.rs:148:19:148:25 | ref_key | TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:148:19:148:25 | ref_key | TRef | {EXTERNAL LOCATION} | & | | dereference.rs:148:19:148:25 | ref_key | TRef.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:150:9:150:18 | key_to_key | | {EXTERNAL LOCATION} | HashMap | @@ -7273,16 +6160,10 @@ inferType | dereference.rs:150:9:150:35 | key_to_key.insert(...) | | {EXTERNAL LOCATION} | Option | | dereference.rs:150:9:150:35 | key_to_key.insert(...) | T | {EXTERNAL LOCATION} | & | | dereference.rs:150:9:150:35 | key_to_key.insert(...) | T.TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:150:9:150:35 | key_to_key.insert(...) | T.TRef | {EXTERNAL LOCATION} | & | -| dereference.rs:150:9:150:35 | key_to_key.insert(...) | T.TRef.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:150:27:150:29 | key | | {EXTERNAL LOCATION} | & | | dereference.rs:150:27:150:29 | key | TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:150:27:150:29 | key | TRef | {EXTERNAL LOCATION} | & | -| dereference.rs:150:27:150:29 | key | TRef.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:150:32:150:34 | key | | {EXTERNAL LOCATION} | & | | dereference.rs:150:32:150:34 | key | TRef | dereference.rs:122:5:123:21 | Key | -| dereference.rs:150:32:150:34 | key | TRef | {EXTERNAL LOCATION} | & | -| dereference.rs:150:32:150:34 | key | TRef.TRef | dereference.rs:122:5:123:21 | Key | | dereference.rs:156:16:156:19 | SelfParam | | dereference.rs:155:5:157:5 | Self [trait MyTrait1] | | dereference.rs:163:16:163:19 | SelfParam | | {EXTERNAL LOCATION} | & | | dereference.rs:163:16:163:19 | SelfParam | TRef | dereference.rs:159:5:159:13 | S | @@ -7290,9 +6171,8 @@ inferType | dereference.rs:164:13:164:13 | S | | dereference.rs:159:5:159:13 | S | | dereference.rs:170:16:170:19 | SelfParam | | {EXTERNAL LOCATION} | &mut | | dereference.rs:170:16:170:19 | SelfParam | TRefMut | dereference.rs:159:5:159:13 | S | -| dereference.rs:170:29:172:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:170:29:172:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | dereference.rs:171:13:171:14 | 42 | | {EXTERNAL LOCATION} | i32 | -| dereference.rs:171:13:171:14 | 42 | | {EXTERNAL LOCATION} | i64 | | dereference.rs:176:16:176:19 | SelfParam | | dereference.rs:175:5:177:5 | Self [trait MyTrait2] | | dereference.rs:176:22:176:24 | arg | | dereference.rs:175:20:175:21 | T1 | | dereference.rs:181:16:181:19 | SelfParam | | dereference.rs:159:5:159:13 | S | @@ -7303,9 +6183,8 @@ inferType | dereference.rs:188:16:188:19 | SelfParam | | dereference.rs:159:5:159:13 | S | | dereference.rs:188:22:188:24 | arg | | {EXTERNAL LOCATION} | &mut | | dereference.rs:188:22:188:24 | arg | TRefMut | dereference.rs:159:5:159:13 | S | -| dereference.rs:188:42:190:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| dereference.rs:188:42:190:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | dereference.rs:189:13:189:14 | 42 | | {EXTERNAL LOCATION} | i32 | -| dereference.rs:189:13:189:14 | 42 | | {EXTERNAL LOCATION} | i64 | | dereference.rs:193:19:200:5 | { ... } | | {EXTERNAL LOCATION} | () | | dereference.rs:194:13:194:13 | x | | dereference.rs:159:5:159:13 | S | | dereference.rs:194:17:194:20 | (...) | | {EXTERNAL LOCATION} | & | @@ -7422,14 +6301,12 @@ inferType | dyn_type.rs:60:46:60:46 | a | | dyn_type.rs:60:18:60:43 | A | | dyn_type.rs:60:78:62:1 | { ... } | | {EXTERNAL LOCATION} | Box | | dyn_type.rs:60:78:62:1 | { ... } | A | {EXTERNAL LOCATION} | Global | -| dyn_type.rs:60:78:62:1 | { ... } | T | dyn_type.rs:10:1:13:1 | dyn GenericGet | -| dyn_type.rs:60:78:62:1 | { ... } | T.dyn(A) | dyn_type.rs:60:18:60:43 | A | +| dyn_type.rs:60:78:62:1 | { ... } | T | dyn_type.rs:33:1:36:1 | GenStruct | +| dyn_type.rs:60:78:62:1 | { ... } | T.A | dyn_type.rs:60:18:60:43 | A | | dyn_type.rs:61:5:61:36 | ...::new(...) | | {EXTERNAL LOCATION} | Box | | dyn_type.rs:61:5:61:36 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| dyn_type.rs:61:5:61:36 | ...::new(...) | T | dyn_type.rs:10:1:13:1 | dyn GenericGet | | dyn_type.rs:61:5:61:36 | ...::new(...) | T | dyn_type.rs:33:1:36:1 | GenStruct | | dyn_type.rs:61:5:61:36 | ...::new(...) | T.A | dyn_type.rs:60:18:60:43 | A | -| dyn_type.rs:61:5:61:36 | ...::new(...) | T.dyn(A) | dyn_type.rs:60:18:60:43 | A | | dyn_type.rs:61:14:61:35 | GenStruct {...} | | dyn_type.rs:33:1:36:1 | GenStruct | | dyn_type.rs:61:14:61:35 | GenStruct {...} | A | dyn_type.rs:60:18:60:43 | A | | dyn_type.rs:61:33:61:33 | a | | dyn_type.rs:60:18:60:43 | A | @@ -8526,14 +7403,13 @@ inferType | main.rs:581:9:581:13 | thing | TRef | main.rs:580:17:580:37 | T | | main.rs:581:9:581:21 | thing.get_a() | | main.rs:580:14:580:14 | A | | main.rs:585:44:585:48 | thing | | main.rs:585:24:585:41 | S | -| main.rs:585:61:588:5 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:585:61:588:5 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:586:13:586:15 | _ms | | {EXTERNAL LOCATION} | Option | | main.rs:586:13:586:15 | _ms | T | main.rs:585:24:585:41 | S | | main.rs:586:19:586:23 | thing | | main.rs:585:24:585:41 | S | | main.rs:586:19:586:31 | thing.get_a() | | {EXTERNAL LOCATION} | Option | | main.rs:586:19:586:31 | thing.get_a() | T | main.rs:585:24:585:41 | S | | main.rs:587:9:587:9 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:587:9:587:9 | 0 | | {EXTERNAL LOCATION} | i64 | | main.rs:593:55:593:59 | thing | | {EXTERNAL LOCATION} | & | | main.rs:593:55:593:59 | thing | TRef | main.rs:593:25:593:52 | S | | main.rs:593:66:596:5 | { ... } | | {EXTERNAL LOCATION} | () | @@ -8936,7 +7812,6 @@ inferType | main.rs:781:17:781:26 | ...::m2(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:781:24:781:25 | S1 | | main.rs:623:5:624:14 | S1 | | main.rs:782:13:782:13 | y | | {EXTERNAL LOCATION} | i32 | -| main.rs:782:22:782:31 | ...::m2(...) | | {EXTERNAL LOCATION} | i32 | | main.rs:782:29:782:30 | S2 | | main.rs:625:5:626:14 | S2 | | main.rs:799:15:799:18 | SelfParam | | main.rs:787:5:791:5 | MyEnum | | main.rs:799:15:799:18 | SelfParam | A | main.rs:798:10:798:10 | T | @@ -8989,10 +7864,8 @@ inferType | main.rs:843:16:843:16 | 3 | | {EXTERNAL LOCATION} | i32 | | main.rs:843:16:843:20 | ... > ... | | {EXTERNAL LOCATION} | bool | | main.rs:843:20:843:20 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:843:22:845:13 | { ... } | | main.rs:837:20:837:22 | Tr2 | | main.rs:844:17:844:20 | self | | {EXTERNAL LOCATION} | & | | main.rs:844:17:844:20 | self | TRef | main.rs:837:5:849:5 | Self [trait MyTrait2] | -| main.rs:844:17:844:25 | self.m1() | | main.rs:837:20:837:22 | Tr2 | | main.rs:845:20:847:13 | { ... } | | main.rs:837:20:837:22 | Tr2 | | main.rs:846:17:846:31 | ...::m1(...) | | main.rs:837:20:837:22 | Tr2 | | main.rs:846:26:846:30 | * ... | | main.rs:837:5:849:5 | Self [trait MyTrait2] | @@ -9221,7 +8094,6 @@ inferType | main.rs:981:22:981:25 | SelfParam | Fst | main.rs:980:10:980:12 | Fst | | main.rs:981:22:981:25 | SelfParam | Snd | main.rs:980:15:980:17 | Snd | | main.rs:981:35:988:9 | { ... } | | main.rs:980:15:980:17 | Snd | -| main.rs:982:13:987:13 | match self { ... } | | file://:0:0:0:0 | ! | | main.rs:982:13:987:13 | match self { ... } | | main.rs:980:15:980:17 | Snd | | main.rs:982:19:982:22 | self | | main.rs:972:5:978:5 | PairOption | | main.rs:982:19:982:22 | self | Fst | main.rs:980:10:980:12 | Fst | @@ -9229,20 +8101,18 @@ inferType | main.rs:983:17:983:38 | ...::PairNone(...) | | main.rs:972:5:978:5 | PairOption | | main.rs:983:17:983:38 | ...::PairNone(...) | Fst | main.rs:980:10:980:12 | Fst | | main.rs:983:17:983:38 | ...::PairNone(...) | Snd | main.rs:980:15:980:17 | Snd | -| main.rs:983:43:983:82 | MacroExpr | | file://:0:0:0:0 | ! | +| main.rs:983:43:983:82 | MacroExpr | | main.rs:980:15:980:17 | Snd | | main.rs:983:50:983:81 | "PairNone has no second elemen... | | {EXTERNAL LOCATION} | & | | main.rs:983:50:983:81 | "PairNone has no second elemen... | TRef | {EXTERNAL LOCATION} | str | -| main.rs:983:50:983:81 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | | main.rs:983:50:983:81 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:983:50:983:81 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:984:17:984:38 | ...::PairFst(...) | | main.rs:972:5:978:5 | PairOption | | main.rs:984:17:984:38 | ...::PairFst(...) | Fst | main.rs:980:10:980:12 | Fst | | main.rs:984:17:984:38 | ...::PairFst(...) | Snd | main.rs:980:15:980:17 | Snd | | main.rs:984:37:984:37 | _ | | main.rs:980:10:980:12 | Fst | -| main.rs:984:43:984:81 | MacroExpr | | file://:0:0:0:0 | ! | +| main.rs:984:43:984:81 | MacroExpr | | main.rs:980:15:980:17 | Snd | | main.rs:984:50:984:80 | "PairFst has no second element... | | {EXTERNAL LOCATION} | & | | main.rs:984:50:984:80 | "PairFst has no second element... | TRef | {EXTERNAL LOCATION} | str | -| main.rs:984:50:984:80 | ...::panic_fmt(...) | | file://:0:0:0:0 | ! | | main.rs:984:50:984:80 | MacroExpr | | {EXTERNAL LOCATION} | () | | main.rs:984:50:984:80 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:985:17:985:40 | ...::PairSnd(...) | | main.rs:972:5:978:5 | PairOption | @@ -9936,10 +8806,12 @@ inferType | main.rs:1298:15:1298:19 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1298:15:1298:19 | SelfParam | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1298:31:1300:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1298:31:1300:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1298:31:1300:9 | { ... } | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1298:31:1300:9 | { ... } | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1298:31:1300:9 | { ... } | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1298:31:1300:9 | { ... } | TRef.TRef.TRef.TRef | main.rs:1295:5:1295:13 | S | | main.rs:1299:13:1299:19 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1299:13:1299:19 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1299:13:1299:19 | &... | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1299:13:1299:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | | main.rs:1299:13:1299:19 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | | main.rs:1299:13:1299:19 | &... | TRef.TRef.TRef.TRef | main.rs:1295:5:1295:13 | S | @@ -9955,10 +8827,12 @@ inferType | main.rs:1302:15:1302:25 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1302:15:1302:25 | SelfParam | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1302:37:1304:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1302:37:1304:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1302:37:1304:9 | { ... } | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1302:37:1304:9 | { ... } | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1302:37:1304:9 | { ... } | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1302:37:1304:9 | { ... } | TRef.TRef.TRef.TRef | main.rs:1295:5:1295:13 | S | | main.rs:1303:13:1303:19 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1303:13:1303:19 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1303:13:1303:19 | &... | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1303:13:1303:19 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | | main.rs:1303:13:1303:19 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | | main.rs:1303:13:1303:19 | &... | TRef.TRef.TRef.TRef | main.rs:1295:5:1295:13 | S | @@ -9980,10 +8854,12 @@ inferType | main.rs:1310:15:1310:15 | x | | {EXTERNAL LOCATION} | & | | main.rs:1310:15:1310:15 | x | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1310:34:1312:9 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1310:34:1312:9 | { ... } | TRef | main.rs:1295:5:1295:13 | S | +| main.rs:1310:34:1312:9 | { ... } | TRef | {EXTERNAL LOCATION} | & | +| main.rs:1310:34:1312:9 | { ... } | TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1310:34:1312:9 | { ... } | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | +| main.rs:1310:34:1312:9 | { ... } | TRef.TRef.TRef.TRef | main.rs:1295:5:1295:13 | S | | main.rs:1311:13:1311:16 | &... | | {EXTERNAL LOCATION} | & | | main.rs:1311:13:1311:16 | &... | TRef | {EXTERNAL LOCATION} | & | -| main.rs:1311:13:1311:16 | &... | TRef | main.rs:1295:5:1295:13 | S | | main.rs:1311:13:1311:16 | &... | TRef.TRef | {EXTERNAL LOCATION} | & | | main.rs:1311:13:1311:16 | &... | TRef.TRef.TRef | {EXTERNAL LOCATION} | & | | main.rs:1311:13:1311:16 | &... | TRef.TRef.TRef.TRef | main.rs:1295:5:1295:13 | S | @@ -10235,13 +9111,9 @@ inferType | main.rs:1414:26:1414:30 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1414:26:1414:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [;] | | main.rs:1414:26:1414:30 | SelfParam | TRef.TArray | main.rs:1413:14:1413:23 | T | -| main.rs:1414:39:1416:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1414:39:1416:13 | { ... } | TRef | main.rs:1413:14:1413:23 | T | | main.rs:1415:17:1415:20 | self | | {EXTERNAL LOCATION} | & | | main.rs:1415:17:1415:20 | self | TRef | {EXTERNAL LOCATION} | [;] | | main.rs:1415:17:1415:20 | self | TRef.TArray | main.rs:1413:14:1413:23 | T | -| main.rs:1415:17:1415:36 | ... .unwrap() | | {EXTERNAL LOCATION} | & | -| main.rs:1415:17:1415:36 | ... .unwrap() | TRef | main.rs:1413:14:1413:23 | T | | main.rs:1415:26:1415:26 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:1418:31:1420:13 | { ... } | | main.rs:1413:14:1413:23 | T | | main.rs:1419:17:1419:28 | ...::default(...) | | main.rs:1413:14:1413:23 | T | @@ -10274,14 +9146,12 @@ inferType | main.rs:1428:26:1428:30 | SelfParam | TRef | {EXTERNAL LOCATION} | [] | | main.rs:1428:26:1428:30 | SelfParam | TRef.TSlice | main.rs:1427:14:1427:23 | T | | main.rs:1428:39:1430:13 | { ... } | | {EXTERNAL LOCATION} | & | -| main.rs:1428:39:1430:13 | { ... } | TRef | main.rs:1427:14:1427:23 | T | | main.rs:1429:17:1429:20 | self | | {EXTERNAL LOCATION} | & | | main.rs:1429:17:1429:20 | self | TRef | {EXTERNAL LOCATION} | [] | | main.rs:1429:17:1429:20 | self | TRef.TSlice | main.rs:1427:14:1427:23 | T | | main.rs:1429:17:1429:27 | self.get(...) | | {EXTERNAL LOCATION} | Option | | main.rs:1429:17:1429:27 | self.get(...) | T | {EXTERNAL LOCATION} | & | | main.rs:1429:17:1429:36 | ... .unwrap() | | {EXTERNAL LOCATION} | & | -| main.rs:1429:17:1429:36 | ... .unwrap() | TRef | main.rs:1427:14:1427:23 | T | | main.rs:1429:26:1429:26 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:1432:31:1434:13 | { ... } | | main.rs:1427:14:1427:23 | T | | main.rs:1433:17:1433:28 | ...::default(...) | | main.rs:1427:14:1427:23 | T | @@ -10289,10 +9159,8 @@ inferType | main.rs:1437:13:1437:13 | s | TRef | {EXTERNAL LOCATION} | [] | | main.rs:1437:13:1437:13 | s | TRef.TSlice | {EXTERNAL LOCATION} | i32 | | main.rs:1437:25:1437:34 | &... | | {EXTERNAL LOCATION} | & | -| main.rs:1437:25:1437:34 | &... | TRef | {EXTERNAL LOCATION} | [] | | main.rs:1437:25:1437:34 | &... | TRef | {EXTERNAL LOCATION} | [;] | | main.rs:1437:25:1437:34 | &... | TRef.TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:1437:25:1437:34 | &... | TRef.TSlice | {EXTERNAL LOCATION} | i32 | | main.rs:1437:26:1437:34 | [...] | | {EXTERNAL LOCATION} | [;] | | main.rs:1437:26:1437:34 | [...] | TArray | {EXTERNAL LOCATION} | i32 | | main.rs:1437:27:1437:27 | 1 | | {EXTERNAL LOCATION} | i32 | @@ -11277,7 +10145,6 @@ inferType | main.rs:1971:18:1971:22 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:1971:18:1971:22 | SelfParam | TRef | main.rs:1938:5:1938:22 | S3 | | main.rs:1971:18:1971:22 | SelfParam | TRef.T3 | main.rs:1970:10:1970:17 | T | -| main.rs:1971:30:1974:9 | { ... } | | main.rs:1970:10:1970:17 | T | | main.rs:1972:17:1972:21 | S3(...) | | {EXTERNAL LOCATION} | & | | main.rs:1972:17:1972:21 | S3(...) | | main.rs:1938:5:1938:22 | S3 | | main.rs:1972:17:1972:21 | S3(...) | TRef | main.rs:1938:5:1938:22 | S3 | @@ -11285,7 +10152,6 @@ inferType | main.rs:1972:25:1972:28 | self | | {EXTERNAL LOCATION} | & | | main.rs:1972:25:1972:28 | self | TRef | main.rs:1938:5:1938:22 | S3 | | main.rs:1972:25:1972:28 | self | TRef.T3 | main.rs:1970:10:1970:17 | T | -| main.rs:1973:13:1973:21 | t.clone() | | main.rs:1970:10:1970:17 | T | | main.rs:1977:45:1979:5 | { ... } | | main.rs:1935:5:1936:14 | S1 | | main.rs:1978:9:1978:10 | S1 | | main.rs:1935:5:1936:14 | S1 | | main.rs:1981:41:1981:41 | t | | main.rs:1981:26:1981:38 | B | @@ -11293,50 +10159,38 @@ inferType | main.rs:1982:9:1982:9 | t | | main.rs:1981:26:1981:38 | B | | main.rs:1982:9:1982:17 | t.get_a() | | main.rs:1981:23:1981:23 | A | | main.rs:1985:34:1985:34 | x | | main.rs:1985:24:1985:31 | T | -| main.rs:1985:59:1987:5 | { ... } | | main.rs:1985:43:1985:57 | impl ... | -| main.rs:1985:59:1987:5 | { ... } | impl(T) | main.rs:1985:24:1985:31 | T | +| main.rs:1985:59:1987:5 | { ... } | | main.rs:1938:5:1938:22 | S3 | +| main.rs:1985:59:1987:5 | { ... } | T3 | main.rs:1985:24:1985:31 | T | | main.rs:1986:9:1986:13 | S3(...) | | main.rs:1938:5:1938:22 | S3 | -| main.rs:1986:9:1986:13 | S3(...) | | main.rs:1985:43:1985:57 | impl ... | | main.rs:1986:9:1986:13 | S3(...) | T3 | main.rs:1985:24:1985:31 | T | -| main.rs:1986:9:1986:13 | S3(...) | impl(T) | main.rs:1985:24:1985:31 | T | | main.rs:1986:12:1986:12 | x | | main.rs:1985:24:1985:31 | T | | main.rs:1989:34:1989:34 | x | | main.rs:1989:24:1989:31 | T | | main.rs:1989:67:1991:5 | { ... } | | {EXTERNAL LOCATION} | Option | -| main.rs:1989:67:1991:5 | { ... } | T | main.rs:1989:50:1989:64 | impl ... | -| main.rs:1989:67:1991:5 | { ... } | T.impl(T) | main.rs:1989:24:1989:31 | T | +| main.rs:1989:67:1991:5 | { ... } | T | main.rs:1938:5:1938:22 | S3 | +| main.rs:1989:67:1991:5 | { ... } | T.T3 | main.rs:1989:24:1989:31 | T | | main.rs:1990:9:1990:19 | Some(...) | | {EXTERNAL LOCATION} | Option | | main.rs:1990:9:1990:19 | Some(...) | T | main.rs:1938:5:1938:22 | S3 | -| main.rs:1990:9:1990:19 | Some(...) | T | main.rs:1989:50:1989:64 | impl ... | | main.rs:1990:9:1990:19 | Some(...) | T.T3 | main.rs:1989:24:1989:31 | T | -| main.rs:1990:9:1990:19 | Some(...) | T.impl(T) | main.rs:1989:24:1989:31 | T | | main.rs:1990:14:1990:18 | S3(...) | | main.rs:1938:5:1938:22 | S3 | | main.rs:1990:14:1990:18 | S3(...) | T3 | main.rs:1989:24:1989:31 | T | | main.rs:1990:17:1990:17 | x | | main.rs:1989:24:1989:31 | T | | main.rs:1993:34:1993:34 | x | | main.rs:1993:24:1993:31 | T | | main.rs:1993:78:1995:5 | { ... } | | {EXTERNAL LOCATION} | (T_2) | -| main.rs:1993:78:1995:5 | { ... } | T0 | main.rs:1993:44:1993:58 | impl ... | -| main.rs:1993:78:1995:5 | { ... } | T0.impl(T) | main.rs:1993:24:1993:31 | T | -| main.rs:1993:78:1995:5 | { ... } | T1 | main.rs:1993:61:1993:75 | impl ... | -| main.rs:1993:78:1995:5 | { ... } | T1.impl(T) | main.rs:1993:24:1993:31 | T | +| main.rs:1993:78:1995:5 | { ... } | T0 | main.rs:1938:5:1938:22 | S3 | +| main.rs:1993:78:1995:5 | { ... } | T0.T3 | main.rs:1993:24:1993:31 | T | +| main.rs:1993:78:1995:5 | { ... } | T1 | main.rs:1938:5:1938:22 | S3 | +| main.rs:1993:78:1995:5 | { ... } | T1.T3 | main.rs:1993:24:1993:31 | T | | main.rs:1994:9:1994:30 | TupleExpr | | {EXTERNAL LOCATION} | (T_2) | | main.rs:1994:9:1994:30 | TupleExpr | T0 | main.rs:1938:5:1938:22 | S3 | -| main.rs:1994:9:1994:30 | TupleExpr | T0 | main.rs:1993:44:1993:58 | impl ... | | main.rs:1994:9:1994:30 | TupleExpr | T0.T3 | main.rs:1993:24:1993:31 | T | -| main.rs:1994:9:1994:30 | TupleExpr | T0.impl(T) | main.rs:1993:24:1993:31 | T | | main.rs:1994:9:1994:30 | TupleExpr | T1 | main.rs:1938:5:1938:22 | S3 | -| main.rs:1994:9:1994:30 | TupleExpr | T1 | main.rs:1993:61:1993:75 | impl ... | | main.rs:1994:9:1994:30 | TupleExpr | T1.T3 | main.rs:1993:24:1993:31 | T | -| main.rs:1994:9:1994:30 | TupleExpr | T1.impl(T) | main.rs:1993:24:1993:31 | T | | main.rs:1994:10:1994:22 | S3(...) | | main.rs:1938:5:1938:22 | S3 | -| main.rs:1994:10:1994:22 | S3(...) | | main.rs:1993:44:1993:58 | impl ... | | main.rs:1994:10:1994:22 | S3(...) | T3 | main.rs:1993:24:1993:31 | T | -| main.rs:1994:10:1994:22 | S3(...) | impl(T) | main.rs:1993:24:1993:31 | T | | main.rs:1994:13:1994:13 | x | | main.rs:1993:24:1993:31 | T | | main.rs:1994:13:1994:21 | x.clone() | | main.rs:1993:24:1993:31 | T | | main.rs:1994:25:1994:29 | S3(...) | | main.rs:1938:5:1938:22 | S3 | -| main.rs:1994:25:1994:29 | S3(...) | | main.rs:1993:61:1993:75 | impl ... | | main.rs:1994:25:1994:29 | S3(...) | T3 | main.rs:1993:24:1993:31 | T | -| main.rs:1994:25:1994:29 | S3(...) | impl(T) | main.rs:1993:24:1993:31 | T | | main.rs:1994:28:1994:28 | x | | main.rs:1993:24:1993:31 | T | | main.rs:1997:26:1997:26 | t | | main.rs:1997:29:1997:43 | impl ... | | main.rs:1997:51:1999:5 | { ... } | | main.rs:1997:23:1997:23 | A | @@ -11504,18 +10358,13 @@ inferType | main.rs:2107:14:2107:18 | value | TRef | {EXTERNAL LOCATION} | i64 | | main.rs:2115:19:2115:22 | SelfParam | | {EXTERNAL LOCATION} | i64 | | main.rs:2115:25:2115:29 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2115:46:2121:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2115:46:2121:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2116:13:2120:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | -| main.rs:2116:13:2120:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | | main.rs:2116:16:2116:20 | value | | {EXTERNAL LOCATION} | bool | | main.rs:2116:22:2118:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2116:22:2118:13 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2117:17:2117:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2117:17:2117:17 | 1 | | {EXTERNAL LOCATION} | i64 | | main.rs:2118:20:2120:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2118:20:2120:13 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2119:17:2119:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2119:17:2119:17 | 0 | | {EXTERNAL LOCATION} | i64 | | main.rs:2130:19:2130:22 | SelfParam | | main.rs:2124:5:2124:19 | S | | main.rs:2130:19:2130:22 | SelfParam | T | main.rs:2126:10:2126:17 | T | | main.rs:2130:25:2130:29 | other | | main.rs:2124:5:2124:19 | S | @@ -11565,18 +10414,13 @@ inferType | main.rs:2163:40:2165:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2164:13:2164:17 | value | | {EXTERNAL LOCATION} | i64 | | main.rs:2170:20:2170:24 | value | | {EXTERNAL LOCATION} | bool | -| main.rs:2170:41:2176:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2170:41:2176:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2171:13:2175:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i32 | -| main.rs:2171:13:2175:13 | if value {...} else {...} | | {EXTERNAL LOCATION} | i64 | | main.rs:2171:16:2171:20 | value | | {EXTERNAL LOCATION} | bool | | main.rs:2171:22:2173:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2171:22:2173:13 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2172:17:2172:17 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2172:17:2172:17 | 1 | | {EXTERNAL LOCATION} | i64 | | main.rs:2173:20:2175:13 | { ... } | | {EXTERNAL LOCATION} | i32 | -| main.rs:2173:20:2175:13 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2174:17:2174:17 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2174:17:2174:17 | 0 | | {EXTERNAL LOCATION} | i64 | | main.rs:2181:21:2181:25 | value | | main.rs:2179:19:2179:19 | T | | main.rs:2181:31:2181:31 | x | | main.rs:2179:5:2182:5 | Self [trait MyFrom2] | | main.rs:2186:21:2186:25 | value | | {EXTERNAL LOCATION} | i64 | @@ -11595,26 +10439,20 @@ inferType | main.rs:2204:15:2204:15 | x | | main.rs:2202:5:2208:5 | Self [trait MySelfTrait] | | main.rs:2207:15:2207:15 | x | | main.rs:2202:5:2208:5 | Self [trait MySelfTrait] | | main.rs:2212:15:2212:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2212:31:2214:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2213:13:2213:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2213:13:2213:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | | main.rs:2213:17:2213:17 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2217:15:2217:15 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2217:32:2219:9 | { ... } | | {EXTERNAL LOCATION} | i64 | | main.rs:2218:13:2218:13 | x | | {EXTERNAL LOCATION} | i64 | -| main.rs:2218:13:2218:17 | ... + ... | | {EXTERNAL LOCATION} | i64 | | main.rs:2218:17:2218:17 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2224:15:2224:15 | x | | {EXTERNAL LOCATION} | bool | -| main.rs:2224:31:2226:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2224:31:2226:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2225:13:2225:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2225:13:2225:13 | 0 | | {EXTERNAL LOCATION} | i64 | | main.rs:2229:15:2229:15 | x | | {EXTERNAL LOCATION} | bool | | main.rs:2229:32:2231:9 | { ... } | | {EXTERNAL LOCATION} | bool | | main.rs:2230:13:2230:13 | x | | {EXTERNAL LOCATION} | bool | | main.rs:2234:16:2259:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2235:13:2235:13 | x | | {EXTERNAL LOCATION} | i64 | | main.rs:2235:22:2235:23 | 73 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2235:22:2235:23 | 73 | | {EXTERNAL LOCATION} | i64 | | main.rs:2236:9:2236:9 | x | | {EXTERNAL LOCATION} | i64 | | main.rs:2236:9:2236:22 | x.my_add(...) | | {EXTERNAL LOCATION} | i64 | | main.rs:2236:18:2236:21 | 5i64 | | {EXTERNAL LOCATION} | i64 | @@ -11690,9 +10528,8 @@ inferType | main.rs:2267:13:2267:25 | MyCallable {...} | | main.rs:2263:5:2263:24 | MyCallable | | main.rs:2270:17:2270:21 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:2270:17:2270:21 | SelfParam | TRef | main.rs:2263:5:2263:24 | MyCallable | -| main.rs:2270:31:2272:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| main.rs:2270:31:2272:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2271:13:2271:13 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2271:13:2271:13 | 1 | | {EXTERNAL LOCATION} | i64 | | main.rs:2275:16:2382:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2278:9:2278:29 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2278:13:2278:13 | i | | {EXTERNAL LOCATION} | i32 | @@ -11738,9 +10575,7 @@ inferType | main.rs:2282:21:2282:31 | [...] | TArray | {EXTERNAL LOCATION} | u8 | | main.rs:2282:22:2282:24 | 1u8 | | {EXTERNAL LOCATION} | u8 | | main.rs:2282:27:2282:27 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2282:27:2282:27 | 2 | | {EXTERNAL LOCATION} | u8 | | main.rs:2282:30:2282:30 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2282:30:2282:30 | 3 | | {EXTERNAL LOCATION} | u8 | | main.rs:2283:9:2283:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2283:13:2283:13 | u | | {EXTERNAL LOCATION} | i32 | | main.rs:2283:13:2283:13 | u | | {EXTERNAL LOCATION} | u8 | @@ -11764,13 +10599,9 @@ inferType | main.rs:2288:26:2288:26 | 3 | | {EXTERNAL LOCATION} | i32 | | main.rs:2288:31:2288:39 | [...] | | {EXTERNAL LOCATION} | [;] | | main.rs:2288:31:2288:39 | [...] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2288:31:2288:39 | [...] | TArray | {EXTERNAL LOCATION} | u32 | | main.rs:2288:32:2288:32 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2288:32:2288:32 | 1 | | {EXTERNAL LOCATION} | u32 | | main.rs:2288:35:2288:35 | 2 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2288:35:2288:35 | 2 | | {EXTERNAL LOCATION} | u32 | | main.rs:2288:38:2288:38 | 3 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2288:38:2288:38 | 3 | | {EXTERNAL LOCATION} | u32 | | main.rs:2289:9:2289:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2289:13:2289:13 | u | | {EXTERNAL LOCATION} | u32 | | main.rs:2289:18:2289:22 | vals3 | | {EXTERNAL LOCATION} | [;] | @@ -11781,9 +10612,7 @@ inferType | main.rs:2291:26:2291:26 | 3 | | {EXTERNAL LOCATION} | i32 | | main.rs:2291:31:2291:36 | [1; 3] | | {EXTERNAL LOCATION} | [;] | | main.rs:2291:31:2291:36 | [1; 3] | TArray | {EXTERNAL LOCATION} | i32 | -| main.rs:2291:31:2291:36 | [1; 3] | TArray | {EXTERNAL LOCATION} | u64 | | main.rs:2291:32:2291:32 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2291:32:2291:32 | 1 | | {EXTERNAL LOCATION} | u64 | | main.rs:2291:35:2291:35 | 3 | | {EXTERNAL LOCATION} | i32 | | main.rs:2292:9:2292:25 | for ... in ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2292:13:2292:13 | u | | {EXTERNAL LOCATION} | u64 | @@ -11911,7 +10740,6 @@ inferType | main.rs:2325:19:2325:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | i32 | | main.rs:2325:19:2325:25 | 0u8..10 | Idx | {EXTERNAL LOCATION} | u8 | | main.rs:2325:24:2325:25 | 10 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2325:24:2325:25 | 10 | | {EXTERNAL LOCATION} | u8 | | main.rs:2325:28:2325:29 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2326:13:2326:17 | range | | {EXTERNAL LOCATION} | Range | | main.rs:2326:13:2326:17 | range | Idx | {EXTERNAL LOCATION} | i32 | @@ -11963,9 +10791,6 @@ inferType | main.rs:2343:32:2343:43 | [...] | | {EXTERNAL LOCATION} | [;] | | main.rs:2343:32:2343:43 | [...] | TArray | {EXTERNAL LOCATION} | i32 | | main.rs:2343:32:2343:43 | [...] | TArray | {EXTERNAL LOCATION} | u16 | -| main.rs:2343:32:2343:52 | ... .to_vec() | | {EXTERNAL LOCATION} | Vec | -| main.rs:2343:32:2343:52 | ... .to_vec() | A | {EXTERNAL LOCATION} | Global | -| main.rs:2343:32:2343:52 | ... .to_vec() | T | {EXTERNAL LOCATION} | u16 | | main.rs:2343:33:2343:36 | 1u16 | | {EXTERNAL LOCATION} | u16 | | main.rs:2343:39:2343:39 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2343:42:2343:42 | 3 | | {EXTERNAL LOCATION} | i32 | @@ -12012,10 +10837,6 @@ inferType | main.rs:2352:32:2352:43 | [...] | | {EXTERNAL LOCATION} | [;] | | main.rs:2352:32:2352:43 | [...] | TArray | {EXTERNAL LOCATION} | i32 | | main.rs:2352:32:2352:43 | [...] | TArray | {EXTERNAL LOCATION} | u64 | -| main.rs:2352:32:2352:60 | ... .collect() | | {EXTERNAL LOCATION} | Vec | -| main.rs:2352:32:2352:60 | ... .collect() | A | {EXTERNAL LOCATION} | Global | -| main.rs:2352:32:2352:60 | ... .collect() | T | {EXTERNAL LOCATION} | & | -| main.rs:2352:32:2352:60 | ... .collect() | T.TRef | {EXTERNAL LOCATION} | u64 | | main.rs:2352:33:2352:36 | 1u64 | | {EXTERNAL LOCATION} | u64 | | main.rs:2352:39:2352:39 | 2 | | {EXTERNAL LOCATION} | i32 | | main.rs:2352:42:2352:42 | 3 | | {EXTERNAL LOCATION} | i32 | @@ -12220,7 +11041,6 @@ inferType | main.rs:2372:35:2372:36 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2376:17:2376:17 | a | | {EXTERNAL LOCATION} | i64 | | main.rs:2376:26:2376:26 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2376:26:2376:26 | 0 | | {EXTERNAL LOCATION} | i64 | | main.rs:2378:13:2378:13 | _ | | {EXTERNAL LOCATION} | () | | main.rs:2378:17:2381:9 | while ... { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2378:23:2378:23 | a | | {EXTERNAL LOCATION} | i64 | @@ -12555,6 +11375,7 @@ inferType | main.rs:2545:18:2545:22 | SelfParam | TRef | main.rs:2532:5:2532:25 | PathBuf | | main.rs:2545:34:2549:9 | { ... } | | {EXTERNAL LOCATION} | & | | main.rs:2545:34:2549:9 | { ... } | TRef | main.rs:2520:5:2520:22 | Path | +| main.rs:2546:13:2547:44 | static path | | main.rs:2520:5:2520:22 | Path | | main.rs:2547:33:2547:43 | ...::new(...) | | main.rs:2520:5:2520:22 | Path | | main.rs:2548:13:2548:17 | &path | | {EXTERNAL LOCATION} | & | | main.rs:2548:13:2548:17 | &path | TRef | main.rs:2520:5:2520:22 | Path | @@ -12628,8 +11449,10 @@ inferType | main.rs:2589:14:2589:14 | b | | {EXTERNAL LOCATION} | bool | | main.rs:2589:48:2606:5 | { ... } | | {EXTERNAL LOCATION} | Box | | main.rs:2589:48:2606:5 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2589:48:2606:5 | { ... } | T | main.rs:2564:5:2566:5 | dyn MyTrait | -| main.rs:2589:48:2606:5 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | +| main.rs:2589:48:2606:5 | { ... } | T | main.rs:2568:5:2569:19 | S | +| main.rs:2589:48:2606:5 | { ... } | T.T | {EXTERNAL LOCATION} | i32 | +| main.rs:2589:48:2606:5 | { ... } | T.T | main.rs:2568:5:2569:19 | S | +| main.rs:2589:48:2606:5 | { ... } | T.T.T | {EXTERNAL LOCATION} | i32 | | main.rs:2590:13:2590:13 | x | | main.rs:2568:5:2569:19 | S | | main.rs:2590:13:2590:13 | x | T | {EXTERNAL LOCATION} | i32 | | main.rs:2590:17:2595:9 | if b {...} else {...} | | main.rs:2568:5:2569:19 | S | @@ -12655,20 +11478,16 @@ inferType | main.rs:2599:19:2599:19 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2600:9:2605:9 | if b {...} else {...} | | {EXTERNAL LOCATION} | Box | | main.rs:2600:9:2605:9 | if b {...} else {...} | A | {EXTERNAL LOCATION} | Global | -| main.rs:2600:9:2605:9 | if b {...} else {...} | T | main.rs:2564:5:2566:5 | dyn MyTrait | | main.rs:2600:9:2605:9 | if b {...} else {...} | T | main.rs:2568:5:2569:19 | S | | main.rs:2600:9:2605:9 | if b {...} else {...} | T.T | {EXTERNAL LOCATION} | i32 | | main.rs:2600:9:2605:9 | if b {...} else {...} | T.T | main.rs:2568:5:2569:19 | S | | main.rs:2600:9:2605:9 | if b {...} else {...} | T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2600:9:2605:9 | if b {...} else {...} | T.dyn(T) | {EXTERNAL LOCATION} | i32 | | main.rs:2600:12:2600:12 | b | | {EXTERNAL LOCATION} | bool | | main.rs:2600:14:2603:9 | { ... } | | {EXTERNAL LOCATION} | Box | | main.rs:2600:14:2603:9 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2600:14:2603:9 | { ... } | T | main.rs:2564:5:2566:5 | dyn MyTrait | | main.rs:2600:14:2603:9 | { ... } | T | main.rs:2568:5:2569:19 | S | | main.rs:2600:14:2603:9 | { ... } | T.T | main.rs:2568:5:2569:19 | S | | main.rs:2600:14:2603:9 | { ... } | T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2600:14:2603:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | | main.rs:2601:17:2601:17 | x | | main.rs:2568:5:2569:19 | S | | main.rs:2601:17:2601:17 | x | T | main.rs:2568:5:2569:19 | S | | main.rs:2601:17:2601:17 | x | T.T | {EXTERNAL LOCATION} | i32 | @@ -12679,26 +11498,20 @@ inferType | main.rs:2601:21:2601:26 | x.m2() | T.T | {EXTERNAL LOCATION} | i32 | | main.rs:2602:13:2602:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | | main.rs:2602:13:2602:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2602:13:2602:23 | ...::new(...) | T | main.rs:2564:5:2566:5 | dyn MyTrait | | main.rs:2602:13:2602:23 | ...::new(...) | T | main.rs:2568:5:2569:19 | S | | main.rs:2602:13:2602:23 | ...::new(...) | T.T | main.rs:2568:5:2569:19 | S | | main.rs:2602:13:2602:23 | ...::new(...) | T.T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2602:13:2602:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | | main.rs:2602:22:2602:22 | x | | main.rs:2568:5:2569:19 | S | | main.rs:2602:22:2602:22 | x | T | main.rs:2568:5:2569:19 | S | | main.rs:2602:22:2602:22 | x | T.T | {EXTERNAL LOCATION} | i32 | | main.rs:2603:16:2605:9 | { ... } | | {EXTERNAL LOCATION} | Box | | main.rs:2603:16:2605:9 | { ... } | A | {EXTERNAL LOCATION} | Global | -| main.rs:2603:16:2605:9 | { ... } | T | main.rs:2564:5:2566:5 | dyn MyTrait | | main.rs:2603:16:2605:9 | { ... } | T | main.rs:2568:5:2569:19 | S | | main.rs:2603:16:2605:9 | { ... } | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2603:16:2605:9 | { ... } | T.dyn(T) | {EXTERNAL LOCATION} | i32 | | main.rs:2604:13:2604:23 | ...::new(...) | | {EXTERNAL LOCATION} | Box | | main.rs:2604:13:2604:23 | ...::new(...) | A | {EXTERNAL LOCATION} | Global | -| main.rs:2604:13:2604:23 | ...::new(...) | T | main.rs:2564:5:2566:5 | dyn MyTrait | | main.rs:2604:13:2604:23 | ...::new(...) | T | main.rs:2568:5:2569:19 | S | | main.rs:2604:13:2604:23 | ...::new(...) | T.T | {EXTERNAL LOCATION} | i32 | -| main.rs:2604:13:2604:23 | ...::new(...) | T.dyn(T) | {EXTERNAL LOCATION} | i32 | | main.rs:2604:22:2604:22 | x | | main.rs:2568:5:2569:19 | S | | main.rs:2604:22:2604:22 | x | T | {EXTERNAL LOCATION} | i32 | | main.rs:2610:22:2614:5 | { ... } | | {EXTERNAL LOCATION} | () | @@ -12916,33 +11729,28 @@ inferType | main.rs:2750:28:2752:9 | { ... } | TRef | main.rs:2748:10:2748:10 | T | | main.rs:2751:13:2751:16 | self | | {EXTERNAL LOCATION} | & | | main.rs:2751:13:2751:16 | self | TRef | main.rs:2748:10:2748:10 | T | -| main.rs:2755:25:2759:5 | { ... } | | {EXTERNAL LOCATION} | usize | +| main.rs:2755:25:2759:5 | { ... } | | {EXTERNAL LOCATION} | i32 | | main.rs:2756:17:2756:17 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2756:17:2756:17 | x | | {EXTERNAL LOCATION} | usize | | main.rs:2756:21:2756:21 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2756:21:2756:21 | 0 | | {EXTERNAL LOCATION} | usize | | main.rs:2757:9:2757:9 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2757:9:2757:9 | x | | {EXTERNAL LOCATION} | usize | | main.rs:2757:9:2757:17 | ... = ... | | {EXTERNAL LOCATION} | () | | main.rs:2757:13:2757:13 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2757:13:2757:13 | x | | {EXTERNAL LOCATION} | usize | | main.rs:2757:13:2757:17 | x.f() | | {EXTERNAL LOCATION} | i32 | -| main.rs:2757:13:2757:17 | x.f() | | {EXTERNAL LOCATION} | usize | | main.rs:2758:9:2758:9 | x | | {EXTERNAL LOCATION} | i32 | -| main.rs:2758:9:2758:9 | x | | {EXTERNAL LOCATION} | usize | | main.rs:2761:12:2769:5 | { ... } | | {EXTERNAL LOCATION} | () | | main.rs:2762:13:2762:13 | x | | {EXTERNAL LOCATION} | usize | | main.rs:2762:24:2762:24 | 0 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2762:24:2762:24 | 0 | | {EXTERNAL LOCATION} | usize | | main.rs:2763:13:2763:13 | y | | {EXTERNAL LOCATION} | & | | main.rs:2763:13:2763:13 | y | TRef | {EXTERNAL LOCATION} | i32 | | main.rs:2763:17:2763:18 | &1 | | {EXTERNAL LOCATION} | & | | main.rs:2763:17:2763:18 | &1 | TRef | {EXTERNAL LOCATION} | i32 | | main.rs:2763:18:2763:18 | 1 | | {EXTERNAL LOCATION} | i32 | | main.rs:2764:13:2764:13 | z | | {EXTERNAL LOCATION} | & | +| main.rs:2764:13:2764:13 | z | TRef | {EXTERNAL LOCATION} | i32 | | main.rs:2764:13:2764:13 | z | TRef | {EXTERNAL LOCATION} | usize | | main.rs:2764:17:2764:17 | x | | {EXTERNAL LOCATION} | usize | | main.rs:2764:17:2764:22 | x.g(...) | | {EXTERNAL LOCATION} | & | +| main.rs:2764:17:2764:22 | x.g(...) | TRef | {EXTERNAL LOCATION} | i32 | | main.rs:2764:17:2764:22 | x.g(...) | TRef | {EXTERNAL LOCATION} | usize | | main.rs:2764:21:2764:21 | y | | {EXTERNAL LOCATION} | & | | main.rs:2764:21:2764:21 | y | TRef | {EXTERNAL LOCATION} | i32 | @@ -12950,10 +11758,11 @@ inferType | main.rs:2766:17:2766:17 | 0 | | {EXTERNAL LOCATION} | i32 | | main.rs:2767:13:2767:13 | y | | {EXTERNAL LOCATION} | usize | | main.rs:2767:24:2767:24 | 1 | | {EXTERNAL LOCATION} | i32 | -| main.rs:2767:24:2767:24 | 1 | | {EXTERNAL LOCATION} | usize | | main.rs:2768:13:2768:13 | z | | {EXTERNAL LOCATION} | i32 | +| main.rs:2768:13:2768:13 | z | | {EXTERNAL LOCATION} | usize | | main.rs:2768:17:2768:17 | x | | {EXTERNAL LOCATION} | i32 | | main.rs:2768:17:2768:24 | x.max(...) | | {EXTERNAL LOCATION} | i32 | +| main.rs:2768:17:2768:24 | x.max(...) | | {EXTERNAL LOCATION} | usize | | main.rs:2768:23:2768:23 | y | | {EXTERNAL LOCATION} | usize | | main.rs:2783:22:2783:26 | SelfParam | | {EXTERNAL LOCATION} | & | | main.rs:2783:22:2783:26 | SelfParam | TRef | main.rs:2782:5:2784:5 | Self [trait Container] | @@ -13038,9 +11847,8 @@ inferType | overloading.rs:8:20:8:24 | SelfParam | TRef | overloading.rs:2:5:11:5 | Self [trait FirstTrait] | | overloading.rs:14:19:14:23 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:14:19:14:23 | SelfParam | TRef | overloading.rs:12:5:19:5 | Self [trait SecondTrait] | -| overloading.rs:14:33:16:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:14:33:16:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | overloading.rs:15:13:15:13 | 1 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:15:13:15:13 | 1 | | {EXTERNAL LOCATION} | i64 | | overloading.rs:18:20:18:24 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:18:20:18:24 | SelfParam | TRef | overloading.rs:12:5:19:5 | Self [trait SecondTrait] | | overloading.rs:24:20:24:24 | SelfParam | | {EXTERNAL LOCATION} | & | @@ -13051,9 +11859,8 @@ inferType | overloading.rs:30:13:30:16 | true | | {EXTERNAL LOCATION} | bool | | overloading.rs:35:20:35:24 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:35:20:35:24 | SelfParam | TRef | overloading.rs:20:5:21:13 | S | -| overloading.rs:35:34:37:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:35:34:37:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | overloading.rs:36:13:36:13 | 1 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:36:13:36:13 | 1 | | {EXTERNAL LOCATION} | i64 | | overloading.rs:43:20:43:24 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:43:20:43:24 | SelfParam | TRef | overloading.rs:40:5:40:14 | S2 | | overloading.rs:43:35:45:9 | { ... } | | {EXTERNAL LOCATION} | bool | @@ -13353,9 +12160,8 @@ inferType | overloading.rs:234:13:234:13 | 0 | | {EXTERNAL LOCATION} | i32 | | overloading.rs:240:14:240:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | | overloading.rs:240:20:240:20 | x | | {EXTERNAL LOCATION} | i64 | -| overloading.rs:240:35:242:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:240:35:242:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | overloading.rs:241:13:241:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:241:13:241:13 | 0 | | {EXTERNAL LOCATION} | i64 | | overloading.rs:246:14:246:17 | SelfParam | | overloading.rs:245:5:247:5 | Self [trait Trait2] | | overloading.rs:246:20:246:20 | x | | overloading.rs:245:18:245:19 | T1 | | overloading.rs:251:14:251:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | @@ -13364,9 +12170,8 @@ inferType | overloading.rs:252:13:252:13 | 0 | | {EXTERNAL LOCATION} | i32 | | overloading.rs:258:14:258:17 | SelfParam | | {EXTERNAL LOCATION} | i32 | | overloading.rs:258:20:258:20 | x | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:258:35:260:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:258:35:260:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | overloading.rs:259:13:259:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:259:13:259:13 | 0 | | {EXTERNAL LOCATION} | i64 | | overloading.rs:263:12:270:5 | { ... } | | {EXTERNAL LOCATION} | () | | overloading.rs:264:13:264:13 | x | | {EXTERNAL LOCATION} | i32 | | overloading.rs:264:17:264:17 | 0 | | {EXTERNAL LOCATION} | i32 | @@ -13429,7 +12234,7 @@ inferType | overloading.rs:352:14:352:17 | SelfParam | | overloading.rs:325:5:325:25 | S | | overloading.rs:352:14:352:17 | SelfParam | T | overloading.rs:349:10:349:10 | T | | overloading.rs:352:25:359:9 | { ... } | | overloading.rs:325:5:325:25 | S | -| overloading.rs:352:25:359:9 | { ... } | T | {EXTERNAL LOCATION} | i64 | +| overloading.rs:352:25:359:9 | { ... } | T | {EXTERNAL LOCATION} | i32 | | overloading.rs:353:17:353:17 | x | | {EXTERNAL LOCATION} | i64 | | overloading.rs:353:21:353:47 | ...::f(...) | | {EXTERNAL LOCATION} | i64 | | overloading.rs:353:26:353:46 | S(...) | | overloading.rs:325:5:325:25 | S | @@ -13457,7 +12262,6 @@ inferType | overloading.rs:357:42:357:59 | ...::default(...) | | {EXTERNAL LOCATION} | i64 | | overloading.rs:358:13:358:16 | S(...) | | overloading.rs:325:5:325:25 | S | | overloading.rs:358:13:358:16 | S(...) | T | {EXTERNAL LOCATION} | i32 | -| overloading.rs:358:13:358:16 | S(...) | T | {EXTERNAL LOCATION} | i64 | | overloading.rs:358:15:358:15 | 0 | | {EXTERNAL LOCATION} | i32 | | overloading.rs:367:17:370:5 | { ... } | | overloading.rs:364:5:365:13 | S | | overloading.rs:368:13:368:13 | x | | overloading.rs:364:5:365:13 | S | @@ -13502,7 +12306,6 @@ inferType | overloading.rs:422:16:422:20 | SelfParam | TRef | overloading.rs:405:5:405:19 | S | | overloading.rs:422:16:422:20 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | | overloading.rs:422:23:426:9 | { ... } | | {EXTERNAL LOCATION} | () | -| overloading.rs:423:13:423:24 | ...::foo(...) | | {EXTERNAL LOCATION} | () | | overloading.rs:423:20:423:23 | self | | {EXTERNAL LOCATION} | & | | overloading.rs:423:20:423:23 | self | TRef | overloading.rs:405:5:405:19 | S | | overloading.rs:423:20:423:23 | self | TRef.T | {EXTERNAL LOCATION} | i32 | @@ -13567,9 +12370,8 @@ inferType | overloading.rs:473:14:473:18 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:473:14:473:18 | SelfParam | TRef | overloading.rs:464:5:464:19 | S | | overloading.rs:473:14:473:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | -| overloading.rs:473:28:475:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:473:28:475:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | overloading.rs:474:13:474:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:474:13:474:13 | 0 | | {EXTERNAL LOCATION} | i64 | | overloading.rs:481:14:481:18 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:481:14:481:18 | SelfParam | TRef | overloading.rs:464:5:464:19 | S | | overloading.rs:481:14:481:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | @@ -13582,17 +12384,15 @@ inferType | overloading.rs:489:14:489:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | | overloading.rs:489:21:489:21 | x | | overloading.rs:464:5:464:19 | S | | overloading.rs:489:21:489:21 | x | T | {EXTERNAL LOCATION} | i64 | -| overloading.rs:489:48:491:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:489:48:491:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | overloading.rs:490:13:490:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:490:13:490:13 | 0 | | {EXTERNAL LOCATION} | i64 | | overloading.rs:497:14:497:18 | SelfParam | | {EXTERNAL LOCATION} | & | | overloading.rs:497:14:497:18 | SelfParam | TRef | overloading.rs:464:5:464:19 | S | | overloading.rs:497:14:497:18 | SelfParam | TRef.T | {EXTERNAL LOCATION} | i32 | | overloading.rs:497:21:497:21 | x | | overloading.rs:464:5:464:19 | S | | overloading.rs:497:21:497:21 | x | T | {EXTERNAL LOCATION} | bool | -| overloading.rs:497:49:499:9 | { ... } | | {EXTERNAL LOCATION} | i64 | +| overloading.rs:497:49:499:9 | { ... } | | {EXTERNAL LOCATION} | i32 | | overloading.rs:498:13:498:13 | 0 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:498:13:498:13 | 0 | | {EXTERNAL LOCATION} | i64 | | overloading.rs:502:36:502:36 | x | | overloading.rs:502:19:502:33 | T2 | | overloading.rs:502:49:504:5 | { ... } | | overloading.rs:502:15:502:16 | T1 | | overloading.rs:503:9:503:9 | x | | overloading.rs:502:19:502:33 | T2 | @@ -13609,12 +12409,9 @@ inferType | overloading.rs:511:17:511:20 | S(...) | | overloading.rs:464:5:464:19 | S | | overloading.rs:511:17:511:20 | S(...) | T | {EXTERNAL LOCATION} | i32 | | overloading.rs:511:19:511:19 | 0 | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:512:13:512:13 | y | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:512:17:512:25 | call_f(...) | | {EXTERNAL LOCATION} | i32 | | overloading.rs:512:24:512:24 | x | | overloading.rs:464:5:464:19 | S | | overloading.rs:512:24:512:24 | x | T | {EXTERNAL LOCATION} | i32 | | overloading.rs:513:13:513:13 | z | | {EXTERNAL LOCATION} | i32 | -| overloading.rs:513:22:513:22 | y | | {EXTERNAL LOCATION} | i32 | | overloading.rs:515:13:515:13 | x | | overloading.rs:464:5:464:19 | S | | overloading.rs:515:13:515:13 | x | T | {EXTERNAL LOCATION} | i32 | | overloading.rs:515:17:515:20 | S(...) | | overloading.rs:464:5:464:19 | S | @@ -14589,32 +13386,24 @@ inferType | pattern_matching.rs:443:25:498:1 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:444:9:444:13 | tuple | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:444:9:444:13 | tuple | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:444:9:444:13 | tuple | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:444:9:444:13 | tuple | T1 | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:444:9:444:13 | tuple | T2 | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:444:9:444:13 | tuple | T2 | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:444:17:444:36 | TupleExpr | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:444:17:444:36 | TupleExpr | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:444:17:444:36 | TupleExpr | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:444:17:444:36 | TupleExpr | T1 | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:444:17:444:36 | TupleExpr | T2 | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:444:17:444:36 | TupleExpr | T2 | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:444:18:444:21 | 1i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:444:24:444:27 | 2i64 | | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:444:30:444:35 | 3.0f32 | | {EXTERNAL LOCATION} | f32 | | pattern_matching.rs:447:5:458:5 | match tuple { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:447:11:447:15 | tuple | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:447:11:447:15 | tuple | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:447:11:447:15 | tuple | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:447:11:447:15 | tuple | T1 | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:447:11:447:15 | tuple | T2 | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:447:11:447:15 | tuple | T2 | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:448:9:448:19 | TuplePat | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:448:9:448:19 | TuplePat | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:448:9:448:19 | TuplePat | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:448:9:448:19 | TuplePat | T1 | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:448:9:448:19 | TuplePat | T2 | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:448:9:448:19 | TuplePat | T2 | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:448:10:448:10 | 1 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:448:13:448:13 | 2 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:448:13:448:13 | 2 | | {EXTERNAL LOCATION} | i64 | @@ -14623,16 +13412,12 @@ inferType | pattern_matching.rs:448:24:451:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:449:17:449:27 | exact_tuple | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:449:17:449:27 | exact_tuple | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:449:17:449:27 | exact_tuple | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:449:17:449:27 | exact_tuple | T1 | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:449:17:449:27 | exact_tuple | T2 | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:449:17:449:27 | exact_tuple | T2 | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:449:31:449:35 | tuple | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:449:31:449:35 | tuple | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:449:31:449:35 | tuple | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:449:31:449:35 | tuple | T1 | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:449:31:449:35 | tuple | T2 | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:449:31:449:35 | tuple | T2 | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:450:13:450:54 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:450:22:450:40 | "Exact tuple: {:?}\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:450:22:450:40 | "Exact tuple: {:?}\\n" | TRef | {EXTERNAL LOCATION} | str | @@ -14641,32 +13426,22 @@ inferType | pattern_matching.rs:450:22:450:53 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:450:43:450:53 | exact_tuple | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:450:43:450:53 | exact_tuple | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:450:43:450:53 | exact_tuple | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:450:43:450:53 | exact_tuple | T1 | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:450:43:450:53 | exact_tuple | T2 | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:450:43:450:53 | exact_tuple | T2 | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:452:9:452:17 | TuplePat | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:452:9:452:17 | TuplePat | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:452:9:452:17 | TuplePat | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:452:9:452:17 | TuplePat | T1 | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:452:9:452:17 | TuplePat | T2 | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:452:9:452:17 | TuplePat | T2 | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:452:10:452:10 | a | | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:452:13:452:13 | b | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:452:13:452:13 | b | | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:452:16:452:16 | c | | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:452:16:452:16 | c | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:452:22:457:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:453:17:453:26 | first_elem | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:453:30:453:30 | a | | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:454:17:454:27 | second_elem | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:454:17:454:27 | second_elem | | {EXTERNAL LOCATION} | i64 | -| pattern_matching.rs:454:31:454:31 | b | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:454:31:454:31 | b | | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:455:17:455:26 | third_elem | | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:455:17:455:26 | third_elem | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:455:30:455:30 | c | | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:455:30:455:30 | c | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:456:13:456:80 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:456:22:456:42 | "Tuple: ({}, {}, {})\\n" | | {EXTERNAL LOCATION} | & | | pattern_matching.rs:456:22:456:42 | "Tuple: ({}, {}, {})\\n" | TRef | {EXTERNAL LOCATION} | str | @@ -14674,23 +13449,17 @@ inferType | pattern_matching.rs:456:22:456:79 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:456:22:456:79 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:456:45:456:54 | first_elem | | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:456:57:456:67 | second_elem | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:456:57:456:67 | second_elem | | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:456:70:456:79 | third_elem | | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:456:70:456:79 | third_elem | | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:461:5:466:5 | match tuple { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:461:11:461:15 | tuple | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:461:11:461:15 | tuple | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:461:11:461:15 | tuple | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:461:11:461:15 | tuple | T1 | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:461:11:461:15 | tuple | T2 | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:461:11:461:15 | tuple | T2 | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:462:9:462:19 | TuplePat | | {EXTERNAL LOCATION} | (T_3) | | pattern_matching.rs:462:9:462:19 | TuplePat | T0 | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:462:9:462:19 | TuplePat | T1 | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:462:9:462:19 | TuplePat | T1 | {EXTERNAL LOCATION} | i64 | | pattern_matching.rs:462:9:462:19 | TuplePat | T2 | {EXTERNAL LOCATION} | f32 | -| pattern_matching.rs:462:9:462:19 | TuplePat | T2 | {EXTERNAL LOCATION} | f64 | | pattern_matching.rs:462:24:465:9 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:464:13:464:54 | MacroExpr | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:464:22:464:40 | "First element: {}\\n" | | {EXTERNAL LOCATION} | & | @@ -14849,10 +13618,8 @@ inferType | pattern_matching.rs:523:9:523:13 | slice | TRef | {EXTERNAL LOCATION} | [] | | pattern_matching.rs:523:9:523:13 | slice | TRef.TSlice | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:523:25:523:40 | &... | | {EXTERNAL LOCATION} | & | -| pattern_matching.rs:523:25:523:40 | &... | TRef | {EXTERNAL LOCATION} | [] | | pattern_matching.rs:523:25:523:40 | &... | TRef | {EXTERNAL LOCATION} | [;] | | pattern_matching.rs:523:25:523:40 | &... | TRef.TArray | {EXTERNAL LOCATION} | i32 | -| pattern_matching.rs:523:25:523:40 | &... | TRef.TSlice | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:523:26:523:40 | [...] | | {EXTERNAL LOCATION} | [;] | | pattern_matching.rs:523:26:523:40 | [...] | TArray | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:523:27:523:27 | 1 | | {EXTERNAL LOCATION} | i32 | @@ -14933,6 +13700,7 @@ inferType | pattern_matching.rs:560:22:560:70 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:560:22:560:70 | { ... } | | {EXTERNAL LOCATION} | () | | pattern_matching.rs:565:24:601:1 | { ... } | | {EXTERNAL LOCATION} | () | +| pattern_matching.rs:566:5:567:29 | const CONSTANT | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:567:27:567:28 | 42 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:568:9:568:13 | value | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:568:17:568:21 | 42i32 | | {EXTERNAL LOCATION} | i32 | @@ -15541,7 +14309,6 @@ inferType | pattern_matching.rs:809:13:809:17 | stack | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:809:31:809:46 | MacroExpr | | {EXTERNAL LOCATION} | Vec | | pattern_matching.rs:809:31:809:46 | MacroExpr | A | {EXTERNAL LOCATION} | Global | -| pattern_matching.rs:809:31:809:46 | MacroExpr | T | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:809:36:809:39 | 1i32 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:809:42:809:42 | 2 | | {EXTERNAL LOCATION} | i32 | | pattern_matching.rs:809:45:809:45 | 3 | | {EXTERNAL LOCATION} | i32 | @@ -15626,7 +14393,6 @@ inferType | raw_pointer.rs:13:23:19:1 | { ... } | | {EXTERNAL LOCATION} | () | | raw_pointer.rs:14:9:14:9 | a | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:14:18:14:19 | 10 | | {EXTERNAL LOCATION} | i32 | -| raw_pointer.rs:14:18:14:19 | 10 | | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:15:9:15:9 | x | | {EXTERNAL LOCATION} | *const | | raw_pointer.rs:15:9:15:9 | x | TPtrConst | {EXTERNAL LOCATION} | i64 | | raw_pointer.rs:15:13:15:24 | &raw const a | | {EXTERNAL LOCATION} | *const | diff --git a/rust/ql/test/library-tests/type-inference/type-inference.ql b/rust/ql/test/library-tests/type-inference/type-inference.ql index 8dcc34ad8001..3d33898c2b78 100644 --- a/rust/ql/test/library-tests/type-inference/type-inference.ql +++ b/rust/ql/test/library-tests/type-inference/type-inference.ql @@ -12,14 +12,14 @@ private predicate relevantNode(AstNode n) { } query predicate inferCertainType(AstNode n, TypePath path, Type t) { - t = TypeInference::CertainTypeInference::inferCertainType(n, path) and - t != TUnknownType() and + t = TypeInference::inferTypeCertain(n, path) and + not t instanceof PseudoType and relevantNode(n) } query predicate inferType(AstNode n, TypePath path, Type t) { t = TypeInference::inferType(n, path) and - t != TUnknownType() and + not t instanceof PseudoType and relevantNode(n) } @@ -70,7 +70,7 @@ module TypeTest implements TestSig { ( tag = "type" or - t = TypeInference::CertainTypeInference::inferCertainType(n, path) and + t = TypeInference::inferTypeCertain(n, path) and tag = "certainType" ) and location = n.getLocation() and diff --git a/shared/typeinference/codeql/typeinference/internal/TypeInference.qll b/shared/typeinference/codeql/typeinference/internal/TypeInference.qll index af818dc94d95..fbccc098e7b8 100644 --- a/shared/typeinference/codeql/typeinference/internal/TypeInference.qll +++ b/shared/typeinference/codeql/typeinference/internal/TypeInference.qll @@ -1,125 +1,60 @@ /** * Provides shared functionality for computing type inference in QL. * - * The code examples in this file use C# syntax, but the concepts should carry - * over to other languages as well. + * The library is initialized in three phases: * - * The library is initialized in two phases: `Make1`, which constructs the - * `TypePath` type, and `Make2`, which (using `TypePath` in the input signature) - * constructs the `Matching` and `IsInstantiationOf` modules. + * 1. `Make1`, which takes as input a definition of types (including type parameters) + * and constructs the `TypePath` type used to represent paths into compound types. * - * The intended use of this library is to define a predicate + * 2. `Make2`, which takes as input a definition of type mentions (using the `TypePath` + * type) as well as the type hierarchy and type constraints, and constructs the + * `Matching` and `IsInstantiationOf` modules, which are core building blocks for + * matching type instantiations against type parameters, taking the type hierarchy + * and type constraints into account. * - * ```ql - * Type inferType(AstNode n, TypePath path) - * ``` - * - * for recursively inferring the type-path-indexed types of AST nodes. For example, - * one may have a base case for literals like - * - * ```ql - * Type inferType(AstNode n, TypePath path) { - * ... - * n instanceof IntegerLiteral and - * result instanceof IntType and - * path.isEmpty() - * ... - * } - * ``` - * - * and recursive cases for local variables like - * - * ```ql - * Type inferType(AstNode n, TypePath path) { - * ... - * exists(LocalVariable v | - * // propagate type information from the initializer to any access - * n = v.getAnAccess() and - * result = inferType(v.getInitializer(), path) - * or - * // propagate type information from any access back to the initializer; note - * // that this case may not be relevant for all languages, but e.g. in Rust - * // it is - * n = v.getInitializer() and - * result = inferType(v.getAnAccess(), path) - * ) - * ... - * } - * ``` - * - * The `Matching` module is used when an AST node references a potentially generic - * declaration, where the type of the node depends on the type of some of its sub - * nodes. For example, if we have a generic method like `T Identity(T t)`, then - * the type of `Identity(42)` should be `int`, while the type of `Identity("foo")` - * should be `string`; in both cases it should _not_ be `T`. + * 3. `Make3`, which takes as input a definition of AST nodes, including common concepts + * such as calls and callables, as well as language-specific typing rules, and + * constructs the `inferType` predicate for recursively inferring the types of AST + * nodes. * - * In order to infer the type of method calls, one would define something like + * Unlike unification-based type inference, this library does directed/bottom-up type + * inference by default, but allowing for contextual/top-down type inference only when + * explicitly needed. * - * ```ql - * private module MethodCallMatchingInput implements MatchingInputSig { - * private newtype TDeclarationPosition = - * TSelfDeclarationPosition() or - * TPositionalDeclarationPosition(int pos) { ... } or - * TReturnDeclarationPosition() + * For example, in order to infer the type of a conditional expression, + * `if cond { e1 } else { e2 }`, we first infer the types of `e1` and `e2` and then + * apply their types to the conditional expression (not taking least-upper-bound or + * similar into account). This corresponds to the type inference rules * - * // A position inside a method with a declared type. - * class DeclarationPosition extends TDeclarationPosition { - * ... - * } + * ```text + * e1: T + * ------------------------------- (cond-then) + * if cond { e1 } else { e2 } : T * - * class Declaration extends MethodCall { - * // Gets a type parameter at `tppos` belonging to this method. - * // - * // For example, if this method is `T Identity(T t)`, then `T` - * // is at position `0`. - * TypeParameter getTypeParameter(TypeParameterPosition tppos) { ... } * - * // Gets the declared type of this method at `dpos` and `path`. - * // - * // For example, if this method is `T Identity(T t)`, then both the - * // the return type and parameter position `0` is `T` with `path.isEmpty()`. - * Type getDeclaredType(DeclarationPosition dpos, TypePath path) { ... } - * } - * - * // A position inside a method call with an inferred type - * class AccessPosition = DeclarationPosition; - * - * class Access extends MethodCall { - * AstNode getNodeAt(AccessPosition apos) { ... } + * e2: T + * ------------------------------- (cond-else) + * if cond { e1 } else { e2 } : T + * ``` * - * // Gets the inferred type of the node at `apos` and `path`. - * // - * // For example, if this method call is `Identity(42)`, then the type - * // at argument position `0` is `int` with `path.isEmpty()"`. - * Type getInferredType(AccessPosition apos, TypePath path) { - * result = inferType(this.getNodeAt(apos), path) - * } + * Now, if we have a conditional expression like * - * // Gets the method that this method call resolves to. - * // - * // This will typically be defined in mutual recursion with the `inferType` - * // predicate, as we need to know the type of the receiver in order to - * // resolve calls to instance methods. - * Declaration getTarget() { ... } - * } + * ```rust + * if cond { 42i64 } else { Default::default() } + * ``` * - * predicate accessDeclarationPositionMatch(AccessPosition apos, DeclarationPosition dpos) { - * apos = dpos - * } - * } + * where the type of `Default::default()` needs to be inferred from the context, we + * first assign `Default::default()` the special `UnknownType`, then using the + * `cond-then` rule we conclude that the conditional has type `i64`, and then since + * the `else` branch has `UnknownType`, we can apply the `cond-else` rule _backwards_ + * to infer that `Default::default()` has type `i64`. * - * private module MethodCallMatching = Matching; + * Note that `UnknownType` can propagate bottom-up like any other type, which is needed + * in cases like for example * - * Type inferType(AstNode n, TypePath path) { - * ... - * exists(MethodCall mc, MethodCallMatchingInput::AccessPosition apos | - * // Some languages may want to restrict `apos` to be the return position, but in - * // e.g. Rust type information can flow out of all positions - * n = a.getNodeAt(apos) and - * result = MethodCallMatching::inferAccessType(a, apos, path) - * ) - * ... - * } + * ```rust + * let x = if cond { Default::default() } else { Default::default() }; + * let y : i64 = x; * ``` */ overlay[local?] @@ -146,10 +81,24 @@ signature module InputSig1 { } /** - * Holds if `t` is a pseudo type. Pseudo types are skipped when checking for - * non-instantiations in `isNotInstantiationOf`. + * A psuedo type. Pseudo types are skipped when checking for non-instantiations + * in `isNotInstantiationOf`. + */ + class PseudoType extends Type; + + /** + * A special pseudo type used to represent cases where the actual type needs + * to be inferred using contextual information. For example, in + * + * ```rust + * let x = Vec::new(); + * x.push(42); + * ``` + * + * the element type of `x` is assigned an unknown type, which allows for type + * information to flow into `x` from the call to `push`. */ - predicate isPseudoType(Type t); + class UnknownType extends PseudoType; /** A type parameter. */ class TypeParameter extends Type; @@ -647,7 +596,8 @@ module Make1 Input1> { } private Type getNonPseudoTypeAt(App app, TypePath path) { - result = app.getTypeAt(path) and not isPseudoType(result) + result = app.getTypeAt(path) and + not result instanceof PseudoType } pragma[nomagic] @@ -1368,7 +1318,7 @@ module Make1 Input1> { exists(TypeArgumentPosition tapos | result = a.getTypeArgument(tapos, path) and tp = getDeclTypeParameter(target, tapos) and - not isPseudoType(result) + not result instanceof PseudoType ) } @@ -1976,6 +1926,8 @@ module Make1 Input1> { /** Provides consistency checks. */ module Consistency { + query predicate nonUniqueUnknownType() { strictcount(UnknownType t) > 1 } + query predicate missingTypeParameterId(TypeParameter tp) { not exists(getTypeParameterId(tp)) } @@ -1993,5 +1945,1241 @@ module Make1 Input1> { not exists(tm.getTypeAt(TypePath::nil())) and exists(tm.getLocation()) } } + + private module Consistency2 = Consistency; + + /** + * Provides the input to `Make3`. + */ + signature module InputSig3 { + /** + * Reverse references to the cached predicates that reference + * `CachedStage::ref()`. + */ + default predicate cacheRevRef() { none() } + + /** A boolean type. */ + class BoolType extends Type; + + /** An AST node. */ + class AstNode { + /** Gets a textual representation of this AST node. */ + string toString(); + + /** Gets the location of this AST node. */ + Location getLocation(); + } + + // todo: remove + /** Gets the type annotation that applies to `n`, if any. */ + TypeMention getTypeAnnotation(AstNode n); + + /** An expression. */ + class Expr extends AstNode; + + /** A cast expression. */ + class Cast extends Expr { + /** Gets the type being cast to. */ + TypeMention getType(); + } + + /** + * A switch. + */ + class Switch extends AstNode { + /** + * Gets the expression being switched on. + */ + Expr getExpr(); + + /** Gets the case at the specified (zero-based) `index`. */ + Case getCase(int index); + } + + /** A case in a switch. */ + class Case extends AstNode { + /** Gets a pattern being matched by this case. */ + AstNode getAPattern(); + + /** Gets the body of this case. */ + AstNode getBody(); + } + + /** A ternary conditional expression. */ + class ConditionalExpr extends Expr { + /** Gets the condition of this expression. */ + Expr getCondition(); + + /** Gets the true branch of this expression. */ + Expr getThen(); + + /** Gets the false branch of this expression. */ + Expr getElse(); + } + + /** A binary expression. */ + class BinaryExpr extends Expr { + /** Gets the left operand of this binary expression. */ + Expr getLeftOperand(); + + /** Gets the right operand of this binary expression. */ + Expr getRightOperand(); + } + + /** A short-circuiting logical AND expression. */ + class LogicalAndExpr extends BinaryExpr; + + /** A short-circuiting logical OR expression. */ + class LogicalOrExpr extends BinaryExpr; + + /** + * An assignment expression, either compound or simple. + * + * Examples: + * + * ``` + * x = y + * sum += element + * ``` + */ + class Assignment extends BinaryExpr; + + /** A simple assignment expression, for example `x = y`. */ + class AssignExpr extends Assignment; + + /** A parenthesized expression. */ + class ParenExpr extends Expr { + Expr getExpr(); + } + + /** + * A local variable, or an entity that behaves like a local variable with + * respect to type inference, for example a `const` or `static` in Rust. + */ + class LocalVariable { + /** + * Gets the AST node that defines this variable. + * + * If this variable is explicitly typed, then the type annotation must be + * applied to the defining node in `getTypeAnnotation`. + */ + AstNode getDefiningNode(); + + /** Gets an access to this variable. */ + Expr getAnAccess(); + + /** Gets a textual representation of this element. */ + string toString(); + + /** Gets the location of this element. */ + Location getLocation(); + } + + /** + * A declaration of one or more local variables, for example a `let` statement + * in Rust. + */ + class LocalVariableDeclaration extends AstNode { + /** + * Holds if this declaration is a coercion site, meaning that the type of the + * initializer may have to be coerced to the type of the pattern. + */ + predicate isCoercionSite(); + + /** Gets the declared type of this declaration, if any. */ + TypeMention getType(); + + /** + * Gets the pattern of this declaration. + * + * Any local variable declared by this declaration will have its defining node in the + * pattern, for example in `let Some(x) = opt`, the defining node of `x` is under + * the `Some` pattern. + */ + AstNode getPattern(); + + /** Gets the initializer of this declaration, if any. */ + AstNode getInitializer(); + } + + /** A parameter. */ + class Parameter extends AstNode { + /** Gets the pattern of this parameter, if any. */ + AstNode getPattern(); + + /** Gets the declared type of this parameter, if any. */ + TypeMention getType(); + } + + /** A parameterizable element, such as a function or variant constructor. */ + class Parameterizable extends AstNode { + /** + * Gets the type parameter at position `ppos` of this element, if any. + * + * This should include type parameters declared on the element itself, + * as well as type parameters declared on the enclosing declaration(s). + */ + TypeParameter getTypeParameter(TypeParameterPosition ppos); + + /** + * Gets an additional type parameter constraint for the given type parameter, + * which applies to this element. For example, in Rust, a function can apply + * additional constraints on type parameters belonging to the `impl` block + * that the function is defined in: + * + * ```rust + * impl MyThing { + * fn foo(self) where T: MyTrait { ... } + * } + */ + TypeMention getAdditionalTypeParameterConstraint(TypeParameter tp); + + /** + * Gets the `i`th parameter of this element. + * + * This should also include (possibly implicit) `this`/`self` parameters, + * using index `0`. + */ + Parameter getParameter(int i); + + /** + * Gets the declared type of this element, if any. + * + * For callables this is the return type and for constructors this is the type + * being constructed. + */ + TypeMention getType(); + } + + /** A callable. */ + class Callable extends Parameterizable { + /** Gets the body of this callable, if any. */ + AstNode getBody(); + } + + /** + * Gets the declared type of `p` at `path`. + * + * By default, this is the declared type of `p` at `path`, but in for example Rust, + * `async` functions must have their return type wrapped in a `Future` type. + */ + default Type getParameterizableType(Parameterizable p, TypePath path) { + result = p.getType().getTypeAt(path) + } + + bindingset[this] + class ResolutionContext { + /** Gets a textual representation of this context. */ + bindingset[this] + string toString(); + } + + /** An invocation expression, for example a call or a variant construction. */ + class Invocation extends Expr { + /** Gets the explicit type argument at position `apos` and `path` for this invocation, if any. */ + Type getTypeArgument(TypeArgumentPosition apos, TypePath path); + + /** + * Gets the AST node corresponding to the `i`th argument of this invocation. + * + * This should include the receiver argument for method calls, using index `0`. + */ + AstNode getArgument(int i); + + /** Gets the target of this invocation in the given resolution context. */ + Parameterizable getTarget(ResolutionContext ctx); + } + + /** + * Gets the inferred type of the `i`th argument of `invocation` at `path` in context + * `ctx`, to be used when propagating type information out of the invocation via the + * target. + * + * By default, this is the inferred type of the argument at the given position, but + * in for example Rust, the inferred type of the receiver of a method call needs + * to take the resolution context into account, in order to use the correct candidate + * receiver type. + */ + bindingset[ctx] + default Type inferInvocationArgumentType( + Invocation invocation, ResolutionContext ctx, int i, TypePath path + ) { + result = inferTypeForDefaults(invocation.getArgument(i), path) and + exists(ctx) + } + + /** + * Gets the contextually inferred type of invocation argument `n` at `path`. + * The context used is the target of the invocation, for example in + * + * ```csharp + * [1,2,3].Select(x => x + 1); + * ``` + * + * the `Select` context allows us to infer that the type of `x => x + 1` is `Func` + * + * This predicate must be implemented using `inferInvocationArgumentTypeContextualDefault`, + * performing the dual post-processing of `inferInvocationArgumentType`. + * + * When no post-processing is needed, simply implement this predicate as + * `result = inferInvocationArgumentTypeContextualDefault(_, _, _, n, path)`. + */ + Type inferInvocationArgumentTypeContextual(AstNode n, TypePath path); + + /** + * Gets the inferred type of `invocation`, found by propagating type information + * out of the invocation via the target. + * + * When no post-processing is needed, simply implement this predicate as + * `result = inferInvocationTypeDefault(invocation, _, path)`. + */ + Type inferInvocationType(Invocation invocation, TypePath path); + + /** + * Gets the contextually inferred type of `invocation`, to be used when propagating + * type information out of the invocation via the declared type of the target. + * + * For example, in + * + * ```rust + * fn id(x: T) -> T { x } + * let x = Default::default(); + * let y : i32 = id(x); + * ``` + * + * knowing that the return type of `id(x)` is `i32` allows us to infer that + * the type of `x` is also `i32`. + * + * This predicate should perform the dual post-processing of `inferInvocationType`. + */ + default Type inferInvocationTypeContextual(Invocation invocation, TypePath path) { + result = inferTypeForDefaults(invocation, path) + } + + /** TODO. */ + default Parameterizable getAdditionalTargetForContextualReturnTyping(Invocation invocation) { + none() + } + + /** A member that can be accessed, such as a field. */ + class Member extends AstNode { + /** Gets the type at `path` of the entity that declares this member. */ + Type getDeclaringType(TypePath path); + + /** Gets the declared type of this member at `path`. */ + TypeMention getType(); + } + + /** A member access expression, for example `x.f`. */ + class MemberAccess extends Expr { + /* Gets the AST node corresponding to the receiver of this member access. */ + AstNode getReceiver(); + + /** Gets the member being accessed. */ + Member getMember(); + } + + /** + * Gets the inferred type of the receiver of `ma` at `path`, to be used when propagating + * type information out of the member access via the member declaration. + * + * By default, this is the inferred type of the receiver node, but in for example Rust, + * implicit dereferencing may have to be taken into account + */ + default Type inferMemberAccessReceiverType(MemberAccess ma, TypePath path) { + result = inferTypeForDefaults(ma.getReceiver(), path) + } + + /** + * Gets the contextually inferred type of member access receiver `n` at `path`. + * The context used is the member being accessed, for example in + * + * ```rust + * let x : i32 = tuple.0; + * ``` + * + * we will be able to infer that the type of `tuple` is a tuple type with `i32` + * as the first element type. + * + * This predicate must be implemented using `inferMemberAccessReceiverTypeContextualDefault`, + * performing the dual post-processing of `inferMemberAccessReceiverType`. + * + * When no post-processing is needed, simply implement this predicate as + * `result = inferMemberAccessReceiverTypeContextualDefault(_, n, path)`. + */ + Type inferMemberAccessReceiverTypeContextual(AstNode n, TypePath path); + + /** A closure/lambda expression. */ + class Closure extends Callable, Expr; + + /** + * A special pseudo type representing a particular closure parameter. + * + * This is needed in cases where the type of a closure parameter must be + * inferred from the inferred _return type_ of the closure. For example, + * in + * + * ```rust + * let c = |x| x; + * let r: i32 = c(Default::default()); + * ``` + * + * We + * + * 1. assign `x` the pseudo type `T_x`, + * 2. infer that the return type of `c` is `T_x` and hence that `c` has type + * `Fn(_) -> T_x`, + * 3. this enables us to detect that contextual inference is needed, so we also + * assign `c` the type `Fn(_) -> UnknownType`, + * 4. infer that `c(42)` must have `UnknownType`, + * 5. infer, using contextual inference, that `c` has type `Fn(_) -> i32`, and finally + * 6. since `c` also has type `Fn(_) -> T_x`, we conclude that `x` has type `i32`. + * + * Note that steps 2, 4, and 5 are standard inference steps. + */ + class ClosureParameterPseudoType extends PseudoType; + + /** Gets the pseudo type corresponding to closure parameter `p`. */ + ClosureParameterPseudoType getClosureParameterPseudoType(Parameter p); + + /** Gets the root type of closure `c`. */ + bindingset[c] + Type getClosureType(Closure c); + + /** + * Gets the type path corresponding to closure parameter `p`. This should be + * a path into the `getClosureType(c)` type, where `c` is the closure that `p` + * belongs to. + */ + TypePath getClosureParameterTypePath(Parameter p); + + /** + * Gets the type path corresponding to the return type of closure `c`. This should be + * a path into the `getClosureType(c)` type. + */ + bindingset[c] + TypePath getClosureReturnTypePath(Closure c); + + /** + * Holds if `n1` having certain type `t` at `path1` implies that `n2` has + * certain type `t` at `path2`, but not necessarily the other way around. + * + * Any tuples included in this predicate will also automatically be included + * in `inferStep`. + */ + default predicate inferStepCertain(AstNode n1, TypePath path1, AstNode n2, TypePath path2) { + none() + } + + /** + * Gets the inferred certain type of `n` at `path`. + * + * Use this predicate to implement any bespoke inference logic, but only for + * nodes where `inferStepCertain` cannot be used, such as leaf nodes in the AST. + * + * Any tuples included in this predicate will also automatically be included + * in `inferType`. + */ + default Type inferTypeCertainSpecific(AstNode n, TypePath path) { none() } + + /** + * Holds if `n1` having type `t` at `path1` implies that `n2` has type `t` at `path2`, + * but not necessarily the other way around. + */ + predicate inferStep(AstNode n1, TypePath path1, AstNode n2, TypePath path2); + + /** + * Gets the inferred type of `n` at `path`. + * + * Use this predicate to implement any bespoke inference logic, but only for + * nodes where `inferStep` cannot be used, such as leaf nodes in the AST. + */ + Type inferTypeSpecific(AstNode n, TypePath path); + + /** + * Gets the inferred type of `n` at `path`. + * + * This predicate must be implemented as an alias for the the `inferType` predicate + * defined in this module, and is needed in order to provide default implementations + * inside this signature. + */ + Type inferTypeForDefaults(AstNode n, TypePath path); + } + + module Make3 { + private import Input3 + + /** Gets the type of `n`, which has an explicit type annotation. */ + pragma[nomagic] + private Type inferAnnotatedType(AstNode n, TypePath path) { + result = getTypeAnnotation(n).getTypeAt(path) + or + result = n.(Cast).getType().getTypeAt(path) + or + exists(LocalVariableDeclaration decl | + result = decl.getType().getTypeAt(path) and + n = decl.getPattern() + ) + or + exists(Parameter p | + n = p.getPattern() and + result = p.getType().getTypeAt(path) + ) + or + exists(Closure c, TypePath suffix | + n = c and + result = getParameterizableType(c, suffix) and + path = getClosureReturnTypePath(c).append(suffix) + ) + } + + private predicate closureStep(AstNode n1, TypePath path1, Closure n2, TypePath path2) { + exists(int index, Parameter p | + n1 = p.getPattern() and + p = n2.getParameter(index) and + path1.isEmpty() and + path2 = getClosureParameterTypePath(p) + ) + } + + /** Provides logic for inferring certain type information. */ + private module Certain { + predicate stepCertain(AstNode n1, TypePath path1, AstNode n2, TypePath path2) { + inferStepCertain(n1, path1, n2, path2) + or + path1.isEmpty() and + path2.isEmpty() and + ( + exists(LocalVariable v | n1 = v.getDefiningNode() and n2 = v.getAnAccess()) + or + exists(LocalVariableDeclaration decl | + not decl.isCoercionSite() and + n1 = decl.getInitializer() and + n2 = decl.getPattern() + ) + or + n1 = n2.(ParenExpr).getExpr() + ) + } + + pragma[nomagic] + private Type inferTypeFromStepCertain(AstNode n, TypePath path) { + exists(TypePath path1, AstNode n2, TypePath path2, TypePath suffix | + result = inferTypeCertain(n2, path2.appendInverse(suffix)) and + path = path1.append(suffix) + | + stepCertain(n2, path2, n, path1) + or + closureStep(n2, path2, n, path1) + ) + } + + private Type inferLogicalOperationType(AstNode n, TypePath path) { + ( + exists(LogicalAndExpr lae | n = [lae, lae.getLeftOperand(), lae.getRightOperand()]) or + exists(LogicalOrExpr loe | n = [loe, loe.getLeftOperand(), loe.getRightOperand()]) + ) and + result instanceof BoolType and + path.isEmpty() + } + + /** Gets the inferred certain type of `n` at `path`. */ + cached + Type inferTypeCertain(AstNode n, TypePath path) { + ( + CachedStage::ref() and + result = Input3::inferTypeCertainSpecific(n, path) + or + result = inferAnnotatedType(n, path) + or + result = inferTypeFromStepCertain(n, path) + or + result = inferLogicalOperationType(n, path) + or + result = getClosureType(n) and + path.isEmpty() + or + infersCertainTypeAt(n, path, result.getATypeParameter()) + ) and + // type annotation may for example include unknown types, such as + // `x : Vec<_>` in Rust + not result instanceof PseudoType + } + + /** + * Holds if `n` has complete and certain type information at `path`. + */ + pragma[nomagic] + predicate hasInferredCertainType(AstNode n, TypePath path) { + exists(inferTypeCertain(n, path)) + } + + /** + * Holds if `n` has complete and certain type information at the type path + * `prefix.tp`. This entails that the type at `prefix` must be the type + * that declares `tp`. + */ + pragma[nomagic] + private predicate infersCertainTypeAt(AstNode n, TypePath prefix, TypeParameter tp) { + exists(TypePath path | + hasInferredCertainType(n, path) and + not path.isEmpty() and // implied by `isSnoc` below, but improves performance slightly + path.isSnoc(prefix, tp) + ) + } + + /** + * Holds if `n` having type `t` at `path` conflicts with certain type information + * at `prefix`. + */ + bindingset[n, prefix, path, t] + pragma[inline_late] + predicate certainTypeConflict(AstNode n, TypePath prefix, TypePath path, Type t) { + inferTypeCertain(n, path) != t + or + // If we infer that `n` has _some_ type at `T1.T2....Tn`, and we also + // know that `n` certainly has type `certainType` at `T1.T2...Ti`, `0 <= i < n`, + // then it must be the case that `T(i+1)` is a type parameter of `certainType`, + // otherwise there is a conflict. + // + // Below, `prefix` is `T1.T2...Ti` and `tp` is `T(i+1)`. + exists(TypePath suffix, TypeParameter tp, Type certainType | + path = prefix.appendInverse(suffix) and + tp = suffix.getHead() and + inferTypeCertain(n, prefix) = certainType and + not certainType.getATypeParameter() = tp + ) + } + } + + predicate inferTypeCertain = Certain::inferTypeCertain/2; + + private predicate step(AstNode n1, TypePath path1, AstNode n2, TypePath path2) { + inferStep(n1, path1, n2, path2) + or + Certain::stepCertain(n1, path1, n2, path2) + or + path1.isEmpty() and + path2.isEmpty() and + ( + exists(AssignExpr ae | + n1 = ae.getRightOperand() and + n2 = ae.getLeftOperand() + ) + or + exists(LocalVariableDeclaration decl | + n1 = decl.getInitializer() and + n2 = decl.getPattern() + ) + or + exists(Switch switch | + n1 = switch.getExpr() and + n2 = switch.getCase(_).getAPattern() + ) + or + n1 = n2.(Switch).getCase(_).getBody() + or + n2 = any(ConditionalExpr ce | n1 = [ce.getThen(), ce.getElse()]) + ) + or + exists(Closure c | + n1 = c.getBody() and + n2 = c and + path1.isEmpty() and + path2 = getClosureReturnTypePath(n2) + ) + } + + pragma[nomagic] + private Type inferTypeFromStep(AstNode n, TypePath path) { + exists(TypePath path1, AstNode n2, TypePath path2, TypePath suffix | + result = inferType(n2, path2.appendInverse(suffix)) and + path = path1.append(suffix) + | + step(n2, path2, n, path1) + or + closureStep(n2, path2, n, path1) and + not result = getClosureParameterPseudoType(n.(Closure).getParameter(_)) + ) + } + + /** + * Provides functionality related to contextual typing. By default, types are inferred + * bottom-up, but when AST nodes have an explicit `UnknownType`, contextual typing is + * allowed. + * + * This module identifies calls where the return type may need to be inferred from the + * context, and also implements logic for performing contextual inference. + */ + private module ContextualTyping { + /** + * Holds if parameterizable `p` mentions type parameter `tp` at some parameter, + * possibly via a constraint on another mentioned type parameter. + */ + pragma[nomagic] + private predicate mentionsTypeParameterAtParameter(Parameterizable p, TypeParameter tp) { + tp = p.getParameter(_).getType().getTypeAt(_) + or + exists(TypeParameter mid | + mentionsTypeParameterAtParameter(p, mid) and + tp = getATypeParameterConstraint(mid).getTypeAt(_) + ) + } + + /** + * Holds if the return type of the parameterizable `p` at `path` is type parameter + * `tp`, and `tp` does not appear in the type of any parameter of `p`. + * + * In this case, the context in which `p` is called may be needed to infer + * the instantiation of `tp`. + * + * This covers functions like `Default::default` and `Vec::new` in Rust. + */ + pragma[nomagic] + private predicate parameterizableReturnContextTypedAt( + Parameterizable p, TypePath path, TypeParameter tp + ) { + tp = getParameterizableType(p, path) and + not mentionsTypeParameterAtParameter(p, tp) + } + + // only needed to get access to `Matching::getTypeArgument`. + private module InvocationMatchingGetTypeArgumentInput implements MatchingInputSig { + import InvocationMatchingInput + + predicate getATypeParameterConstraint = + InvocationMatchingInput::getATypeParameterConstraint/2; + + class Access extends InvocationMatchingInput::Access { + Type getInferredType(AccessPosition apos, TypePath path) { none() } + + Declaration getTarget() { + result = this.getTarget(_) + or + result = getAdditionalTargetForContextualReturnTyping(this) + } + } + } + + private module InvocationMatchingGetTypeArgument = + Matching; + + /** + * Holds if `invocation` resolves some target where the return type at `path` + * may have to be inferred from the context. + */ + pragma[nomagic] + predicate needsContextualTyping(Invocation invocation, TypePath path) { + exists(Parameterizable target, TypeParameter tp | + target = invocation.(InvocationMatchingGetTypeArgumentInput::Access).getTarget() and + parameterizableReturnContextTypedAt(target, path, tp) and + tp = target.getTypeParameter(_) and + // check that no explicit type arguments have been supplied for `tp` + not exists( + InvocationMatchingGetTypeArgument::getTypeArgument(invocation, target, tp, _) + ) + ) + } + + pragma[nomagic] + private predicate hasUnknownTypeAt(AstNode n, TypePath path) { + inferType(n, path) instanceof UnknownType + } + + pragma[nomagic] + predicate hasUnknownType(AstNode n) { hasUnknownTypeAt(n, _) } + + pragma[nomagic] + private Type inferTypeContextualCand(AstNode n, TypePath path) { + exists(Callable c | + n = c.getBody() and + result = getParameterizableType(c, path) + ) + or + result = inferInvocationArgumentTypeContextual(n, path) + or + result = inferMemberAccessReceiverTypeContextual(n, path) + or + exists(TypePath path1, AstNode n2, TypePath path2, TypePath suffix | + result = inferType(n2, path2.appendInverse(suffix)) and + path = path1.append(suffix) + | + step(n, path1, n2, path2) + or + closureStep(n, path1, n2, path2) + ) + } + + pragma[nomagic] + private Type inferTypeContextualCand(AstNode n, TypePath prefix, TypePath path) { + result = inferTypeContextualCand(n, path) and + hasUnknownType(n) and + prefix = path.getAPrefix() and + // no need to propagate `UnknownType`s contextually; `n` must already have an + // `UnknownType` at some prefix of `path` + not result instanceof UnknownType + } + + pragma[nomagic] + private Type inferTypeContextual0(AstNode n, TypePath path) { + exists(TypePath prefix | + result = inferTypeContextualCand(n, prefix, path) and + hasUnknownTypeAt(n, prefix) + ) + } + + pragma[nomagic] + private predicate isValidContextualNonEmptyPath(AstNode n, TypePath path) { + hasUnknownType(n) and + exists(TypePath prefix, TypeParameter tp | + tp = inferType(n, prefix).getATypeParameter() and + path = TypePath::snoc(prefix, tp) + ) + } + + /** + * Gets the contextually inferred type of `n` at `path`, if any. This is only + * allowed when `n` has `UnknownType` at some prefix of `path`, and furthermore + * if `path` is non-empty, then it must be compatible with an already inferred + * type (contextually or not). + */ + pragma[nomagic] + Type inferTypeContextual(AstNode n, TypePath path) { + result = inferTypeContextual0(n, path) and + ( + path.isEmpty() + or + isValidContextualNonEmptyPath(n, path) + ) + } + } + + private module ClosureTyping { + pragma[nomagic] + private predicate hasClosureParameterPseudoType(AstNode n, Parameter p, TypePath path) { + // use `inferType0` to also detect propagation into enclosing closure + inferType0(n, path) = getClosureParameterPseudoType(p) + } + + pragma[nomagic] + private predicate hasClosureParameterPseudoType(AstNode n) { + hasClosureParameterPseudoType(n, _, _) + } + + pragma[nomagic] + private predicate hasTypeAt(AstNode n, TypePath path) { exists(inferType(n, path)) } + + pragma[nomagic] + private predicate hasTypeAtPrefix(AstNode n, TypePath prefix, TypePath path) { + hasTypeAt(n, path) and + hasClosureParameterPseudoType(n) and + prefix = path.getAPrefix() + } + + pragma[nomagic] + private predicate hasClosureParameterPseudoType( + AstNode n, TypePath path, AstNode pattern, TypePath suffix + ) { + exists(Parameter p, TypePath prefix | + hasClosureParameterPseudoType(n, p, prefix) and + hasTypeAtPrefix(n, prefix, path) and + path = prefix.appendInverse(suffix) and + pattern = p.getPattern() + ) + } + + pragma[nomagic] + private Type inferClosureParameterTypeCand(AstNode n, TypePath path) { + result = inferType(n, path) and + hasClosureParameterPseudoType(n) and + not result instanceof UnknownType + } + + // The `case X` comments below refer to the cases in the QL doc for + // `ClosureParameterPseudoType`. + private Type inferClosureParameterPseudoType(AstNode n, TypePath path) { + exists(Closure c, Parameter p | p = c.getParameter(_) | + // case 1 + n = p.getPattern() and + path.isEmpty() and + result = getClosureParameterPseudoType(p) + or + // case 3 + hasClosureParameterPseudoType(c, p, path) and + n = c and + result instanceof UnknownType + ) + or + // case 6 + exists(AstNode n0, TypePath path0 | + hasClosureParameterPseudoType(n0, path0, n, path) and + result = inferClosureParameterTypeCand(n0, path0) + ) + } + + Type inferClosureParameterType(AstNode n, TypePath path) { + result = inferClosureParameterPseudoType(n, path) + or + exists(Closure c, Parameter p | + p = c.getParameter(_) and + not exists(p.getType()) + | + n = c and + path = getClosureParameterTypePath(p) and + result instanceof UnknownType + or + n = p.getPattern() and + result = inferType(c, getClosureParameterTypePath(p).appendInverse(path)) and + not result instanceof UnknownType + ) + } + } + + private Type inferType0(AstNode n, TypePath path) { + result = Input3::inferTypeSpecific(n, path) + or + result = inferAnnotatedType(n, path) + or + exists(LocalVariableDeclaration decl | + n = decl.getPattern() and + not exists(decl.getInitializer()) and + result instanceof UnknownType and + path.isEmpty() + ) + or + result = inferTypeFromStep(n, path) + or + result = inferInvocationType(n, path) + or + result = inferMemberAccessType(n, path) + or + result = ClosureTyping::inferClosureParameterType(n, path) + or + ContextualTyping::needsContextualTyping(n, path) and + result instanceof UnknownType + or + result = ContextualTyping::inferTypeContextual(n, path) + } + + /** + * Gets the inferred type of `n` at `path`. + */ + cached + Type inferType(AstNode n, TypePath path) { + CachedStage::ref() and + result = inferTypeCertain(n, path) + or + // Don't propagate type information into a node which conflicts with certain + // type information. + result = inferType0(n, path) and + forall(TypePath prefix | + Certain::hasInferredCertainType(n, prefix) and + prefix.isPrefixOf(path) + | + not Certain::certainTypeConflict(n, prefix, path, result) + or + // propagate closure parameter pseudo types even when there is certain information, + // but prevent propagation outside of the closure + exists(Parameter p | + result = getClosureParameterPseudoType(p) and + not p = n.(Closure).getParameter(_) + ) + ) + or + // If `n` has an explicitly unknown type at `prefix` and at the same time a certain + // type at `prefix.suffix`, then extend the unknown type information to any path + // extending `prefix.suffix` where there is no certain type information + exists(TypePath prefix, TypePath suffix, Type certain, TypeParameter tp | + inferType0(n, prefix) instanceof UnknownType and + certain = inferTypeCertain(n, prefix.appendInverse(suffix)) and + tp = certain.getATypeParameter() and + path = prefix.append(suffix).append(TypePath::singleton(tp)) and + not exists(inferTypeCertain(n, path)) and + result instanceof UnknownType + ) + or + infersTypeAt(n, path, result.getATypeParameter()) + } + + pragma[nomagic] + private predicate infersTypeAt(AstNode n, TypePath prefix, TypeParameter tp) { + exists(TypePath path | + exists(inferType(n, path)) and + not path.isEmpty() and // implied by `isSnoc` below, but improves performance slightly + path.isSnoc(prefix, tp) + ) + } + + /** + * A matching configuration for resolving types of invocations. + */ + private module InvocationMatchingInput implements MatchingWithEnvironmentInputSig { + class DeclarationPosition = int; + + class AccessPosition = DeclarationPosition; + + bindingset[apos] + bindingset[dpos] + predicate accessDeclarationPositionMatch(AccessPosition apos, DeclarationPosition dpos) { + apos = dpos + } + + /** Gets the position used to represent the return type of a callable/type of a call. */ + additional int getReturnPosition() { result = -1 } + + final private class ParameterizableFinal = Parameterizable; + + class Declaration extends ParameterizableFinal { + Type getDeclaredType(DeclarationPosition dpos, TypePath path) { + result = this.getParameter(dpos).getType().getTypeAt(path) + or + dpos = getReturnPosition() and + result = getParameterizableType(this, path) + } + } + + bindingset[decl] + TypeMention getATypeParameterConstraint(TypeParameter tp, Declaration decl) { + result = Input2::getATypeParameterConstraint(tp) and + exists(decl) + or + result = decl.getAdditionalTypeParameterConstraint(tp) + } + + class AccessEnvironment = ResolutionContext; + + final private class InvocationFinal = Invocation; + + class Access extends InvocationFinal { + pragma[nomagic] + private Type getInferredResultType(AccessPosition apos, TypePath path) { + result = inferInvocationTypeContextual(this, path) and + apos = getReturnPosition() + } + + bindingset[e] + Type getInferredType(AccessEnvironment e, AccessPosition apos, TypePath path) { + result = inferInvocationArgumentType(this, e, apos, path) + or + result = this.getInferredResultType(apos, path) and + exists(e) + } + + Declaration getTarget(AccessEnvironment e) { result = super.getTarget(e) } + } + } + + private module InvocationMatching = MatchingWithEnvironment; + + pragma[nomagic] + Type inferInvocationTypeDefault(Invocation call, ResolutionContext ctx, TypePath path) { + result = + InvocationMatching::inferAccessType(call, ctx, + InvocationMatchingInput::getReturnPosition(), path) + } + + /** + * Gets the contextually inferred type of call argument `n` at `path`. For more info, + * see the QL doc of `InputSig3::inferInvocationArgumentTypeContextual`. + */ + pragma[nomagic] + Type inferInvocationArgumentTypeContextualDefault( + Invocation call, ResolutionContext ctx, int pos, AstNode n, TypePath path + ) { + n = call.getArgument(pos) and + result = InvocationMatching::inferAccessType(call, ctx, pos, path) and + ContextualTyping::hasUnknownType(n) + } + + /** + * A matching configuration for resolving types of member expressions like `x.field`. + */ + private module MemberAccessMatchingInput implements MatchingInputSig { + private newtype TDeclarationPosition = + TReceiverPosition() or + TMemberPos() + + class DeclarationPosition extends TDeclarationPosition { + predicate isReceiver() { this = TReceiverPosition() } + + predicate isMember() { this = TMemberPos() } + + string toString() { + this.isReceiver() and + result = "receiver" + or + this.isMember() and + result = "member" + } + } + + final private class MemberFinal = Member; + + class Declaration extends MemberFinal { + TypeParameter getTypeParameter(TypeParameterPosition ppos) { none() } + + Type getDeclaredType(DeclarationPosition dpos, TypePath path) { + dpos.isReceiver() and + result = this.getDeclaringType(path) + or + dpos.isMember() and + result = this.getType().getTypeAt(path) + } + + abstract string toString(); + + abstract Location getLocation(); + } + + class AccessPosition = DeclarationPosition; + + final private class MemberAccessFinal = MemberAccess; + + class Access extends MemberAccessFinal { + Type getTypeArgument(TypeArgumentPosition apos, TypePath path) { none() } + + Type getInferredType(AccessPosition apos, TypePath path) { + apos.isReceiver() and + result = inferMemberAccessReceiverType(this, path) + or + apos.isMember() and + result = inferType(this, path) + } + + Declaration getTarget() { result = this.getMember() } + } + + predicate accessDeclarationPositionMatch(AccessPosition apos, DeclarationPosition dpos) { + apos = dpos + } + } + + private module MemberAccessMatching = Matching; + + pragma[nomagic] + private Type inferMemberAccessType(MemberAccess ma, TypePath path) { + result = + MemberAccessMatching::inferAccessType(ma, + any(MemberAccessMatchingInput::DeclarationPosition pos | pos.isMember()), path) + } + + /** + * Gets the contextually inferred type of member access receiver `n` at `path`. + * For more info, see the QL doc of `InputSig3::inferMemberAccessReceiverTypeContextual`. + */ + pragma[nomagic] + Type inferMemberAccessReceiverTypeContextualDefault( + MemberAccess ma, AstNode receiver, TypePath path + ) { + result = + MemberAccessMatching::inferAccessType(ma, + any(MemberAccessMatchingInput::DeclarationPosition pos | pos.isReceiver()), path) and + receiver = ma.getReceiver() and + ContextualTyping::hasUnknownType(receiver) + } + + /** + * Gets the inferred root type of `n`, if any. + */ + Type inferType(AstNode n) { result = inferType(n, TypePath::nil()) } + + /** + * The cached stage of this module. + * + * Should not be exposed. + */ + cached + module CachedStage { + /** Reference to the cached stage of this module. */ + cached + predicate ref() { any() } + + /** Reverse references to the predicates that reference `ref()`. */ + cached + predicate revRef() { + any() + or + cacheRevRef() + or + (exists(inferTypeCertain(_, _)) implies any()) + or + (exists(inferType(_, _)) implies any()) + } + } + + /** + * Provides consistency checks, including those from `Make2::Consistency`. + */ + module Consistency { + import Consistency2 + + query predicate nonUniqueCertainType(AstNode n, TypePath path) { + strictcount(inferTypeCertain(n, path)) > 1 + } + + /** + * Checks that `Input3::inferType` is an alias for `inferType`. + */ + query predicate inferTypeMismatch(AstNode n, TypePath path, Type t) { + inferType(n, path) = t and + not Input3::inferTypeForDefaults(n, path) = t + or + Input3::inferTypeForDefaults(n, path) = t and + not inferType(n, path) = t + } + } + + /** Provides various debugging predicates. */ + module Debug { + pragma[nomagic] + predicate atLimit(AstNode n) { + exists(TypePath path0 | + exists(inferType(n, path0)) and path0.length() >= getTypePathLimit() + ) + } + + Type inferTypeForNodeAtLimit(AstNode n, TypePath path) { + result = inferType(n, path) and + atLimit(n) + } + + predicate countTypesForNodeAtLimit(AstNode n, int c) { + c = strictcount(Type t, TypePath path | t = inferTypeForNodeAtLimit(n, path)) + } + + pragma[nomagic] + private int countTypesAtPath(AstNode n, TypePath path, Type t) { + t = inferType(n, path) and + result = strictcount(Type t0 | t0 = inferType(n, path)) + } + + predicate maxTypes(AstNode n, TypePath path, Type t, int c) { + c = countTypesAtPath(n, path, t) and + c = max(countTypesAtPath(_, _, _)) + } + + pragma[nomagic] + private predicate typePathLength(AstNode n, TypePath path, Type t, int len) { + t = inferType(n, path) and + len = path.length() + } + + predicate maxTypePath(AstNode n, TypePath path, Type t, int len) { + typePathLength(n, path, t, len) and + len = max(int i | typePathLength(_, _, _, i)) + } + + pragma[nomagic] + private int countTypePaths(AstNode n, TypePath path, Type t) { + t = inferType(n, path) and + result = strictcount(TypePath path0, Type t0 | t0 = inferType(n, path0)) + } + + predicate maxTypePaths(AstNode n, TypePath path, Type t, int c) { + c = countTypePaths(n, path, t) and + c = max(countTypePaths(_, _, _)) + } + } + } } } diff --git a/shared/util/codeql/util/UnboundList.qll b/shared/util/codeql/util/UnboundList.qll index 6f05d6cddfc2..409116bc60b9 100644 --- a/shared/util/codeql/util/UnboundList.qll +++ b/shared/util/codeql/util/UnboundList.qll @@ -191,5 +191,12 @@ module Make Input> { */ bindingset[suffix] UnboundList cons(Element e, UnboundList suffix) { result = singleton(e).append(suffix) } + + /** + * Gets the list obtained by appending the singleton list `e` + * after `prefix`. + */ + bindingset[prefix] + UnboundList snoc(UnboundList prefix, Element e) { result = prefix.append(singleton(e)) } } }