diff --git a/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/DataFlowConsistency.expected b/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/DataFlowConsistency.expected index 9ba9b9fcd995..e20ac1da53f6 100644 --- a/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/DataFlowConsistency.expected +++ b/rust/ql/test/library-tests/dataflow/local/CONSISTENCY/DataFlowConsistency.expected @@ -1,2 +1,2 @@ identityLocalStep -| main.rs:428:9:428:20 | phi(default_name) | Node steps to itself | +| main.rs:442:9:442:20 | phi(default_name) | Node steps to itself | diff --git a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected index 00b35694976a..05597f5f689a 100644 --- a/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected +++ b/rust/ql/test/library-tests/dataflow/local/DataFlowStep.expected @@ -306,411 +306,439 @@ localStep | main.rs:263:9:263:10 | i1 | main.rs:263:9:263:10 | i1 | | main.rs:263:14:263:16 | TryExpr | main.rs:263:9:263:10 | i1 | | main.rs:266:5:266:11 | Some(...) | main.rs:260:41:267:1 | { ... } | -| main.rs:270:9:270:10 | [SSA] s1 | main.rs:273:14:273:15 | s1 | -| main.rs:270:9:270:10 | s1 | main.rs:270:9:270:10 | [SSA] s1 | -| main.rs:270:9:270:10 | s1 | main.rs:270:9:270:10 | s1 | -| main.rs:270:32:270:45 | Ok(...) | main.rs:270:9:270:10 | s1 | -| main.rs:271:9:271:10 | [SSA] s2 | main.rs:274:14:274:15 | s2 | -| main.rs:271:9:271:10 | s2 | main.rs:271:9:271:10 | [SSA] s2 | -| main.rs:271:9:271:10 | s2 | main.rs:271:9:271:10 | s2 | -| main.rs:271:32:271:36 | Ok(...) | main.rs:271:9:271:10 | s2 | -| main.rs:272:9:272:10 | [SSA] s3 | main.rs:277:14:277:15 | s3 | -| main.rs:272:9:272:10 | s3 | main.rs:272:9:272:10 | [SSA] s3 | -| main.rs:272:9:272:10 | s3 | main.rs:272:9:272:10 | s3 | -| main.rs:272:32:272:46 | Err(...) | main.rs:272:9:272:10 | s3 | -| main.rs:273:9:273:10 | [SSA] i1 | main.rs:275:10:275:11 | i1 | -| main.rs:273:9:273:10 | i1 | main.rs:273:9:273:10 | [SSA] i1 | -| main.rs:273:9:273:10 | i1 | main.rs:273:9:273:10 | i1 | -| main.rs:273:14:273:16 | TryExpr | main.rs:273:9:273:10 | i1 | -| main.rs:274:9:274:10 | [SSA] i2 | main.rs:276:10:276:11 | i2 | -| main.rs:274:9:274:10 | i2 | main.rs:274:9:274:10 | [SSA] i2 | -| main.rs:274:9:274:10 | i2 | main.rs:274:9:274:10 | i2 | -| main.rs:274:14:274:16 | TryExpr | main.rs:274:9:274:10 | i2 | -| main.rs:277:9:277:10 | [SSA] i3 | main.rs:278:10:278:11 | i3 | -| main.rs:277:9:277:10 | i3 | main.rs:277:9:277:10 | [SSA] i3 | -| main.rs:277:9:277:10 | i3 | main.rs:277:9:277:10 | i3 | -| main.rs:277:14:277:16 | TryExpr | main.rs:277:9:277:10 | i3 | -| main.rs:279:5:279:9 | Ok(...) | main.rs:269:46:280:1 | { ... } | -| main.rs:283:9:283:10 | [SSA] s1 | main.rs:284:10:284:11 | s1 | -| main.rs:283:9:283:10 | s1 | main.rs:283:9:283:10 | [SSA] s1 | -| main.rs:283:9:283:10 | s1 | main.rs:283:9:283:10 | s1 | -| main.rs:283:32:283:45 | Ok(...) | main.rs:283:9:283:10 | s1 | -| main.rs:284:10:284:11 | [post] s1 | main.rs:285:10:285:11 | s1 | -| main.rs:284:10:284:11 | s1 | main.rs:285:10:285:11 | s1 | -| main.rs:287:9:287:10 | [SSA] s2 | main.rs:288:10:288:11 | s2 | -| main.rs:287:9:287:10 | s2 | main.rs:287:9:287:10 | [SSA] s2 | -| main.rs:287:9:287:10 | s2 | main.rs:287:9:287:10 | s2 | -| main.rs:287:32:287:46 | Err(...) | main.rs:287:9:287:10 | s2 | -| main.rs:288:10:288:11 | [post] s2 | main.rs:289:10:289:11 | s2 | -| main.rs:288:10:288:11 | s2 | main.rs:289:10:289:11 | s2 | -| main.rs:298:9:298:10 | [SSA] s1 | main.rs:300:11:300:12 | s1 | -| main.rs:298:9:298:10 | s1 | main.rs:298:9:298:10 | [SSA] s1 | -| main.rs:298:9:298:10 | s1 | main.rs:298:9:298:10 | s1 | -| main.rs:298:14:298:39 | ...::A(...) | main.rs:298:9:298:10 | s1 | -| main.rs:299:9:299:10 | [SSA] s2 | main.rs:307:11:307:12 | s2 | -| main.rs:299:9:299:10 | s2 | main.rs:299:9:299:10 | [SSA] s2 | -| main.rs:299:9:299:10 | s2 | main.rs:299:9:299:10 | s2 | -| main.rs:299:14:299:30 | ...::B(...) | main.rs:299:9:299:10 | s2 | -| main.rs:300:11:300:12 | s1 | main.rs:301:9:301:25 | ...::A(...) | -| main.rs:300:11:300:12 | s1 | main.rs:302:9:302:25 | ...::B(...) | -| main.rs:300:11:300:12 | s1 | main.rs:304:11:304:12 | s1 | -| main.rs:301:24:301:24 | [SSA] n | main.rs:301:35:301:35 | n | -| main.rs:301:24:301:24 | n | main.rs:301:24:301:24 | [SSA] n | -| main.rs:301:24:301:24 | n | main.rs:301:24:301:24 | n | -| main.rs:301:30:301:36 | sink(...) | main.rs:300:5:303:5 | match s1 { ... } | -| main.rs:302:24:302:24 | [SSA] n | main.rs:302:35:302:35 | n | -| main.rs:302:24:302:24 | n | main.rs:302:24:302:24 | [SSA] n | -| main.rs:302:24:302:24 | n | main.rs:302:24:302:24 | n | -| main.rs:302:30:302:36 | sink(...) | main.rs:300:5:303:5 | match s1 { ... } | -| main.rs:304:11:304:12 | s1 | main.rs:305:9:305:45 | ... \| ... | -| main.rs:305:9:305:45 | ... \| ... | main.rs:305:9:305:25 | ...::A(...) | -| main.rs:305:9:305:45 | ... \| ... | main.rs:305:29:305:45 | ...::B(...) | -| main.rs:305:9:305:45 | [SSA] phi | main.rs:305:55:305:55 | n | -| main.rs:305:24:305:24 | [SSA] [input] phi | main.rs:305:9:305:45 | [SSA] phi | -| main.rs:305:24:305:24 | [SSA] n | main.rs:305:24:305:24 | [SSA] [input] phi | -| main.rs:305:24:305:24 | n | main.rs:305:24:305:24 | [SSA] n | -| main.rs:305:24:305:24 | n | main.rs:305:24:305:24 | n | -| main.rs:305:44:305:44 | [SSA] [input] phi | main.rs:305:9:305:45 | [SSA] phi | -| main.rs:305:44:305:44 | [SSA] n | main.rs:305:44:305:44 | [SSA] [input] phi | -| main.rs:305:44:305:44 | n | main.rs:305:44:305:44 | [SSA] n | -| main.rs:305:44:305:44 | n | main.rs:305:44:305:44 | n | -| main.rs:305:50:305:56 | sink(...) | main.rs:304:5:306:5 | match s1 { ... } | -| main.rs:307:5:310:5 | match s2 { ... } | main.rs:297:48:311:1 | { ... } | -| main.rs:307:11:307:12 | s2 | main.rs:308:9:308:25 | ...::A(...) | -| main.rs:307:11:307:12 | s2 | main.rs:309:9:309:25 | ...::B(...) | -| main.rs:308:24:308:24 | [SSA] n | main.rs:308:35:308:35 | n | -| main.rs:308:24:308:24 | n | main.rs:308:24:308:24 | [SSA] n | -| main.rs:308:24:308:24 | n | main.rs:308:24:308:24 | n | -| main.rs:308:30:308:36 | sink(...) | main.rs:307:5:310:5 | match s2 { ... } | -| main.rs:309:24:309:24 | [SSA] n | main.rs:309:35:309:35 | n | -| main.rs:309:24:309:24 | n | main.rs:309:24:309:24 | [SSA] n | -| main.rs:309:24:309:24 | n | main.rs:309:24:309:24 | n | -| main.rs:309:30:309:36 | sink(...) | main.rs:307:5:310:5 | match s2 { ... } | -| main.rs:316:9:316:10 | [SSA] s1 | main.rs:318:11:318:12 | s1 | -| main.rs:316:9:316:10 | s1 | main.rs:316:9:316:10 | [SSA] s1 | -| main.rs:316:9:316:10 | s1 | main.rs:316:9:316:10 | s1 | -| main.rs:316:14:316:26 | A(...) | main.rs:316:9:316:10 | s1 | -| main.rs:317:9:317:10 | [SSA] s2 | main.rs:325:11:325:12 | s2 | -| main.rs:317:9:317:10 | s2 | main.rs:317:9:317:10 | [SSA] s2 | -| main.rs:317:9:317:10 | s2 | main.rs:317:9:317:10 | s2 | -| main.rs:317:14:317:17 | B(...) | main.rs:317:9:317:10 | s2 | -| main.rs:318:11:318:12 | s1 | main.rs:319:9:319:12 | A(...) | -| main.rs:318:11:318:12 | s1 | main.rs:320:9:320:12 | B(...) | -| main.rs:318:11:318:12 | s1 | main.rs:322:11:322:12 | s1 | -| main.rs:319:11:319:11 | [SSA] n | main.rs:319:22:319:22 | n | -| main.rs:319:11:319:11 | n | main.rs:319:11:319:11 | [SSA] n | -| main.rs:319:11:319:11 | n | main.rs:319:11:319:11 | n | -| main.rs:319:17:319:23 | sink(...) | main.rs:318:5:321:5 | match s1 { ... } | -| main.rs:320:11:320:11 | [SSA] n | main.rs:320:22:320:22 | n | -| main.rs:320:11:320:11 | n | main.rs:320:11:320:11 | [SSA] n | -| main.rs:320:11:320:11 | n | main.rs:320:11:320:11 | n | -| main.rs:320:17:320:23 | sink(...) | main.rs:318:5:321:5 | match s1 { ... } | -| main.rs:322:11:322:12 | s1 | main.rs:323:9:323:19 | ... \| ... | -| main.rs:323:9:323:19 | ... \| ... | main.rs:323:9:323:12 | A(...) | -| main.rs:323:9:323:19 | ... \| ... | main.rs:323:16:323:19 | B(...) | -| main.rs:323:9:323:19 | [SSA] phi | main.rs:323:29:323:29 | n | -| main.rs:323:11:323:11 | [SSA] [input] phi | main.rs:323:9:323:19 | [SSA] phi | -| main.rs:323:11:323:11 | [SSA] n | main.rs:323:11:323:11 | [SSA] [input] phi | -| main.rs:323:11:323:11 | n | main.rs:323:11:323:11 | [SSA] n | -| main.rs:323:11:323:11 | n | main.rs:323:11:323:11 | n | -| main.rs:323:18:323:18 | [SSA] [input] phi | main.rs:323:9:323:19 | [SSA] phi | -| main.rs:323:18:323:18 | [SSA] n | main.rs:323:18:323:18 | [SSA] [input] phi | -| main.rs:323:18:323:18 | n | main.rs:323:18:323:18 | [SSA] n | -| main.rs:323:18:323:18 | n | main.rs:323:18:323:18 | n | -| main.rs:323:24:323:30 | sink(...) | main.rs:322:5:324:5 | match s1 { ... } | -| main.rs:325:5:328:5 | match s2 { ... } | main.rs:315:50:329:1 | { ... } | -| main.rs:325:11:325:12 | s2 | main.rs:326:9:326:12 | A(...) | -| main.rs:325:11:325:12 | s2 | main.rs:327:9:327:12 | B(...) | -| main.rs:326:11:326:11 | [SSA] n | main.rs:326:22:326:22 | n | -| main.rs:326:11:326:11 | n | main.rs:326:11:326:11 | [SSA] n | -| main.rs:326:11:326:11 | n | main.rs:326:11:326:11 | n | -| main.rs:326:17:326:23 | sink(...) | main.rs:325:5:328:5 | match s2 { ... } | -| main.rs:327:11:327:11 | [SSA] n | main.rs:327:22:327:22 | n | -| main.rs:327:11:327:11 | n | main.rs:327:11:327:11 | [SSA] n | -| main.rs:327:11:327:11 | n | main.rs:327:11:327:11 | n | -| main.rs:327:17:327:23 | sink(...) | main.rs:325:5:328:5 | match s2 { ... } | -| main.rs:337:9:337:10 | [SSA] s1 | main.rs:341:11:341:12 | s1 | -| main.rs:337:9:337:10 | s1 | main.rs:337:9:337:10 | [SSA] s1 | -| main.rs:337:9:337:10 | s1 | main.rs:337:9:337:10 | s1 | -| main.rs:337:14:339:5 | ...::C {...} | main.rs:337:9:337:10 | s1 | -| main.rs:340:9:340:10 | [SSA] s2 | main.rs:348:11:348:12 | s2 | -| main.rs:340:9:340:10 | s2 | main.rs:340:9:340:10 | [SSA] s2 | -| main.rs:340:9:340:10 | s2 | main.rs:340:9:340:10 | s2 | -| main.rs:340:14:340:43 | ...::D {...} | main.rs:340:9:340:10 | s2 | -| main.rs:341:11:341:12 | s1 | main.rs:342:9:342:38 | ...::C {...} | -| main.rs:341:11:341:12 | s1 | main.rs:343:9:343:38 | ...::D {...} | -| main.rs:341:11:341:12 | s1 | main.rs:345:11:345:12 | s1 | -| main.rs:342:36:342:36 | [SSA] n | main.rs:342:48:342:48 | n | -| main.rs:342:36:342:36 | n | main.rs:342:36:342:36 | [SSA] n | -| main.rs:342:36:342:36 | n | main.rs:342:36:342:36 | n | -| main.rs:342:43:342:49 | sink(...) | main.rs:341:5:344:5 | match s1 { ... } | -| main.rs:343:36:343:36 | [SSA] n | main.rs:343:48:343:48 | n | -| main.rs:343:36:343:36 | n | main.rs:343:36:343:36 | [SSA] n | -| main.rs:343:36:343:36 | n | main.rs:343:36:343:36 | n | -| main.rs:343:43:343:49 | sink(...) | main.rs:341:5:344:5 | match s1 { ... } | -| main.rs:345:11:345:12 | s1 | main.rs:346:9:346:71 | ... \| ... | -| main.rs:346:9:346:71 | ... \| ... | main.rs:346:9:346:38 | ...::C {...} | -| main.rs:346:9:346:71 | ... \| ... | main.rs:346:42:346:71 | ...::D {...} | -| main.rs:346:9:346:71 | [SSA] phi | main.rs:346:81:346:81 | n | -| main.rs:346:36:346:36 | [SSA] [input] phi | main.rs:346:9:346:71 | [SSA] phi | -| main.rs:346:36:346:36 | [SSA] n | main.rs:346:36:346:36 | [SSA] [input] phi | -| main.rs:346:36:346:36 | n | main.rs:346:36:346:36 | [SSA] n | -| main.rs:346:36:346:36 | n | main.rs:346:36:346:36 | n | -| main.rs:346:69:346:69 | [SSA] [input] phi | main.rs:346:9:346:71 | [SSA] phi | -| main.rs:346:69:346:69 | [SSA] n | main.rs:346:69:346:69 | [SSA] [input] phi | -| main.rs:346:69:346:69 | n | main.rs:346:69:346:69 | [SSA] n | -| main.rs:346:69:346:69 | n | main.rs:346:69:346:69 | n | -| main.rs:346:76:346:82 | sink(...) | main.rs:345:5:347:5 | match s1 { ... } | -| main.rs:348:5:351:5 | match s2 { ... } | main.rs:336:49:352:1 | { ... } | -| main.rs:348:11:348:12 | s2 | main.rs:349:9:349:38 | ...::C {...} | -| main.rs:348:11:348:12 | s2 | main.rs:350:9:350:38 | ...::D {...} | -| main.rs:349:36:349:36 | [SSA] n | main.rs:349:48:349:48 | n | -| main.rs:349:36:349:36 | n | main.rs:349:36:349:36 | [SSA] n | -| main.rs:349:36:349:36 | n | main.rs:349:36:349:36 | n | -| main.rs:349:43:349:49 | sink(...) | main.rs:348:5:351:5 | match s2 { ... } | -| main.rs:350:36:350:36 | [SSA] n | main.rs:350:48:350:48 | n | -| main.rs:350:36:350:36 | n | main.rs:350:36:350:36 | [SSA] n | -| main.rs:350:36:350:36 | n | main.rs:350:36:350:36 | n | -| main.rs:350:43:350:49 | sink(...) | main.rs:348:5:351:5 | match s2 { ... } | -| main.rs:357:9:357:10 | [SSA] s1 | main.rs:361:11:361:12 | s1 | -| main.rs:357:9:357:10 | s1 | main.rs:357:9:357:10 | [SSA] s1 | -| main.rs:357:9:357:10 | s1 | main.rs:357:9:357:10 | s1 | -| main.rs:357:14:359:5 | C {...} | main.rs:357:9:357:10 | s1 | -| main.rs:360:9:360:10 | [SSA] s2 | main.rs:368:11:368:12 | s2 | -| main.rs:360:9:360:10 | s2 | main.rs:360:9:360:10 | [SSA] s2 | -| main.rs:360:9:360:10 | s2 | main.rs:360:9:360:10 | s2 | -| main.rs:360:14:360:29 | D {...} | main.rs:360:9:360:10 | s2 | -| main.rs:361:11:361:12 | s1 | main.rs:362:9:362:24 | C {...} | -| main.rs:361:11:361:12 | s1 | main.rs:363:9:363:24 | D {...} | -| main.rs:361:11:361:12 | s1 | main.rs:365:11:365:12 | s1 | -| main.rs:362:22:362:22 | [SSA] n | main.rs:362:34:362:34 | n | -| main.rs:362:22:362:22 | n | main.rs:362:22:362:22 | [SSA] n | -| main.rs:362:22:362:22 | n | main.rs:362:22:362:22 | n | -| main.rs:362:29:362:35 | sink(...) | main.rs:361:5:364:5 | match s1 { ... } | -| main.rs:363:22:363:22 | [SSA] n | main.rs:363:34:363:34 | n | -| main.rs:363:22:363:22 | n | main.rs:363:22:363:22 | [SSA] n | -| main.rs:363:22:363:22 | n | main.rs:363:22:363:22 | n | -| main.rs:363:29:363:35 | sink(...) | main.rs:361:5:364:5 | match s1 { ... } | -| main.rs:365:11:365:12 | s1 | main.rs:366:9:366:43 | ... \| ... | -| main.rs:366:9:366:43 | ... \| ... | main.rs:366:9:366:24 | C {...} | -| main.rs:366:9:366:43 | ... \| ... | main.rs:366:28:366:43 | D {...} | -| main.rs:366:9:366:43 | [SSA] phi | main.rs:366:53:366:53 | n | -| main.rs:366:22:366:22 | [SSA] [input] phi | main.rs:366:9:366:43 | [SSA] phi | -| main.rs:366:22:366:22 | [SSA] n | main.rs:366:22:366:22 | [SSA] [input] phi | -| main.rs:366:22:366:22 | n | main.rs:366:22:366:22 | [SSA] n | -| main.rs:366:22:366:22 | n | main.rs:366:22:366:22 | n | -| main.rs:366:41:366:41 | [SSA] [input] phi | main.rs:366:9:366:43 | [SSA] phi | -| main.rs:366:41:366:41 | [SSA] n | main.rs:366:41:366:41 | [SSA] [input] phi | -| main.rs:366:41:366:41 | n | main.rs:366:41:366:41 | [SSA] n | -| main.rs:366:41:366:41 | n | main.rs:366:41:366:41 | n | -| main.rs:366:48:366:54 | sink(...) | main.rs:365:5:367:5 | match s1 { ... } | -| main.rs:368:5:371:5 | match s2 { ... } | main.rs:356:51:372:1 | { ... } | -| main.rs:368:11:368:12 | s2 | main.rs:369:9:369:24 | C {...} | -| main.rs:368:11:368:12 | s2 | main.rs:370:9:370:24 | D {...} | -| main.rs:369:22:369:22 | [SSA] n | main.rs:369:34:369:34 | n | -| main.rs:369:22:369:22 | n | main.rs:369:22:369:22 | [SSA] n | -| main.rs:369:22:369:22 | n | main.rs:369:22:369:22 | n | -| main.rs:369:29:369:35 | sink(...) | main.rs:368:5:371:5 | match s2 { ... } | -| main.rs:370:22:370:22 | [SSA] n | main.rs:370:34:370:34 | n | -| main.rs:370:22:370:22 | n | main.rs:370:22:370:22 | [SSA] n | -| main.rs:370:22:370:22 | n | main.rs:370:22:370:22 | n | -| main.rs:370:29:370:35 | sink(...) | main.rs:368:5:371:5 | match s2 { ... } | -| main.rs:378:9:378:12 | [SSA] arr1 | main.rs:379:14:379:17 | arr1 | -| main.rs:378:9:378:12 | arr1 | main.rs:378:9:378:12 | [SSA] arr1 | -| main.rs:378:9:378:12 | arr1 | main.rs:378:9:378:12 | arr1 | -| main.rs:378:16:378:33 | [...] | main.rs:378:9:378:12 | arr1 | -| main.rs:379:9:379:10 | [SSA] n1 | main.rs:380:10:380:11 | n1 | -| main.rs:379:9:379:10 | n1 | main.rs:379:9:379:10 | [SSA] n1 | -| main.rs:379:9:379:10 | n1 | main.rs:379:9:379:10 | n1 | -| main.rs:379:14:379:20 | arr1[2] | main.rs:379:9:379:10 | n1 | -| main.rs:382:9:382:12 | [SSA] arr2 | main.rs:383:14:383:17 | arr2 | -| main.rs:382:9:382:12 | arr2 | main.rs:382:9:382:12 | [SSA] arr2 | -| main.rs:382:9:382:12 | arr2 | main.rs:382:9:382:12 | arr2 | -| main.rs:382:16:382:31 | [...; 10] | main.rs:382:9:382:12 | arr2 | -| main.rs:383:9:383:10 | [SSA] n2 | main.rs:384:10:384:11 | n2 | -| main.rs:383:9:383:10 | n2 | main.rs:383:9:383:10 | [SSA] n2 | -| main.rs:383:9:383:10 | n2 | main.rs:383:9:383:10 | n2 | -| main.rs:383:14:383:20 | arr2[4] | main.rs:383:9:383:10 | n2 | -| main.rs:386:9:386:12 | [SSA] arr3 | main.rs:387:14:387:17 | arr3 | -| main.rs:386:9:386:12 | arr3 | main.rs:386:9:386:12 | [SSA] arr3 | -| main.rs:386:9:386:12 | arr3 | main.rs:386:9:386:12 | arr3 | -| main.rs:386:16:386:24 | [...] | main.rs:386:9:386:12 | arr3 | -| main.rs:387:9:387:10 | [SSA] n3 | main.rs:388:10:388:11 | n3 | -| main.rs:387:9:387:10 | n3 | main.rs:387:9:387:10 | [SSA] n3 | -| main.rs:387:9:387:10 | n3 | main.rs:387:9:387:10 | n3 | -| main.rs:387:14:387:20 | arr3[2] | main.rs:387:9:387:10 | n3 | -| main.rs:392:9:392:12 | [SSA] arr1 | main.rs:393:15:393:18 | arr1 | +| main.rs:270:9:270:10 | [SSA] r1 | main.rs:271:29:271:30 | r1 | +| main.rs:270:9:270:10 | r1 | main.rs:270:9:270:10 | [SSA] r1 | +| main.rs:270:9:270:10 | r1 | main.rs:270:9:270:10 | r1 | +| main.rs:270:33:270:46 | Ok(...) | main.rs:270:9:270:10 | r1 | +| main.rs:271:9:271:11 | [SSA] o1a | main.rs:273:10:273:12 | o1a | +| main.rs:271:9:271:11 | o1a | main.rs:271:9:271:11 | [SSA] o1a | +| main.rs:271:9:271:11 | o1a | main.rs:271:9:271:11 | o1a | +| main.rs:271:29:271:30 | [post] r1 | main.rs:272:29:272:30 | r1 | +| main.rs:271:29:271:30 | r1 | main.rs:272:29:272:30 | r1 | +| main.rs:271:29:271:35 | r1.ok(...) | main.rs:271:9:271:11 | o1a | +| main.rs:272:9:272:11 | [SSA] o1b | main.rs:274:10:274:12 | o1b | +| main.rs:272:9:272:11 | o1b | main.rs:272:9:272:11 | [SSA] o1b | +| main.rs:272:9:272:11 | o1b | main.rs:272:9:272:11 | o1b | +| main.rs:272:29:272:36 | r1.err(...) | main.rs:272:9:272:11 | o1b | +| main.rs:276:9:276:10 | [SSA] r2 | main.rs:277:29:277:30 | r2 | +| main.rs:276:9:276:10 | r2 | main.rs:276:9:276:10 | [SSA] r2 | +| main.rs:276:9:276:10 | r2 | main.rs:276:9:276:10 | r2 | +| main.rs:276:33:276:47 | Err(...) | main.rs:276:9:276:10 | r2 | +| main.rs:277:9:277:11 | [SSA] o2a | main.rs:279:10:279:12 | o2a | +| main.rs:277:9:277:11 | o2a | main.rs:277:9:277:11 | [SSA] o2a | +| main.rs:277:9:277:11 | o2a | main.rs:277:9:277:11 | o2a | +| main.rs:277:29:277:30 | [post] r2 | main.rs:278:29:278:30 | r2 | +| main.rs:277:29:277:30 | r2 | main.rs:278:29:278:30 | r2 | +| main.rs:277:29:277:35 | r2.ok(...) | main.rs:277:9:277:11 | o2a | +| main.rs:278:9:278:11 | [SSA] o2b | main.rs:280:10:280:12 | o2b | +| main.rs:278:9:278:11 | o2b | main.rs:278:9:278:11 | [SSA] o2b | +| main.rs:278:9:278:11 | o2b | main.rs:278:9:278:11 | o2b | +| main.rs:278:29:278:36 | r2.err(...) | main.rs:278:9:278:11 | o2b | +| main.rs:284:9:284:10 | [SSA] s1 | main.rs:287:14:287:15 | s1 | +| main.rs:284:9:284:10 | s1 | main.rs:284:9:284:10 | [SSA] s1 | +| main.rs:284:9:284:10 | s1 | main.rs:284:9:284:10 | s1 | +| main.rs:284:32:284:45 | Ok(...) | main.rs:284:9:284:10 | s1 | +| main.rs:285:9:285:10 | [SSA] s2 | main.rs:288:14:288:15 | s2 | +| main.rs:285:9:285:10 | s2 | main.rs:285:9:285:10 | [SSA] s2 | +| main.rs:285:9:285:10 | s2 | main.rs:285:9:285:10 | s2 | +| main.rs:285:32:285:36 | Ok(...) | main.rs:285:9:285:10 | s2 | +| main.rs:286:9:286:10 | [SSA] s3 | main.rs:291:14:291:15 | s3 | +| main.rs:286:9:286:10 | s3 | main.rs:286:9:286:10 | [SSA] s3 | +| main.rs:286:9:286:10 | s3 | main.rs:286:9:286:10 | s3 | +| main.rs:286:32:286:46 | Err(...) | main.rs:286:9:286:10 | s3 | +| main.rs:287:9:287:10 | [SSA] i1 | main.rs:289:10:289:11 | i1 | +| main.rs:287:9:287:10 | i1 | main.rs:287:9:287:10 | [SSA] i1 | +| main.rs:287:9:287:10 | i1 | main.rs:287:9:287:10 | i1 | +| main.rs:287:14:287:16 | TryExpr | main.rs:287:9:287:10 | i1 | +| main.rs:288:9:288:10 | [SSA] i2 | main.rs:290:10:290:11 | i2 | +| main.rs:288:9:288:10 | i2 | main.rs:288:9:288:10 | [SSA] i2 | +| main.rs:288:9:288:10 | i2 | main.rs:288:9:288:10 | i2 | +| main.rs:288:14:288:16 | TryExpr | main.rs:288:9:288:10 | i2 | +| main.rs:291:9:291:10 | [SSA] i3 | main.rs:292:10:292:11 | i3 | +| main.rs:291:9:291:10 | i3 | main.rs:291:9:291:10 | [SSA] i3 | +| main.rs:291:9:291:10 | i3 | main.rs:291:9:291:10 | i3 | +| main.rs:291:14:291:16 | TryExpr | main.rs:291:9:291:10 | i3 | +| main.rs:293:5:293:9 | Ok(...) | main.rs:283:46:294:1 | { ... } | +| main.rs:297:9:297:10 | [SSA] s1 | main.rs:298:10:298:11 | s1 | +| main.rs:297:9:297:10 | s1 | main.rs:297:9:297:10 | [SSA] s1 | +| main.rs:297:9:297:10 | s1 | main.rs:297:9:297:10 | s1 | +| main.rs:297:32:297:45 | Ok(...) | main.rs:297:9:297:10 | s1 | +| main.rs:298:10:298:11 | [post] s1 | main.rs:299:10:299:11 | s1 | +| main.rs:298:10:298:11 | s1 | main.rs:299:10:299:11 | s1 | +| main.rs:301:9:301:10 | [SSA] s2 | main.rs:302:10:302:11 | s2 | +| main.rs:301:9:301:10 | s2 | main.rs:301:9:301:10 | [SSA] s2 | +| main.rs:301:9:301:10 | s2 | main.rs:301:9:301:10 | s2 | +| main.rs:301:32:301:46 | Err(...) | main.rs:301:9:301:10 | s2 | +| main.rs:302:10:302:11 | [post] s2 | main.rs:303:10:303:11 | s2 | +| main.rs:302:10:302:11 | s2 | main.rs:303:10:303:11 | s2 | +| main.rs:312:9:312:10 | [SSA] s1 | main.rs:314:11:314:12 | s1 | +| main.rs:312:9:312:10 | s1 | main.rs:312:9:312:10 | [SSA] s1 | +| main.rs:312:9:312:10 | s1 | main.rs:312:9:312:10 | s1 | +| main.rs:312:14:312:39 | ...::A(...) | main.rs:312:9:312:10 | s1 | +| main.rs:313:9:313:10 | [SSA] s2 | main.rs:321:11:321:12 | s2 | +| main.rs:313:9:313:10 | s2 | main.rs:313:9:313:10 | [SSA] s2 | +| main.rs:313:9:313:10 | s2 | main.rs:313:9:313:10 | s2 | +| main.rs:313:14:313:30 | ...::B(...) | main.rs:313:9:313:10 | s2 | +| main.rs:314:11:314:12 | s1 | main.rs:315:9:315:25 | ...::A(...) | +| main.rs:314:11:314:12 | s1 | main.rs:316:9:316:25 | ...::B(...) | +| main.rs:314:11:314:12 | s1 | main.rs:318:11:318:12 | s1 | +| main.rs:315:24:315:24 | [SSA] n | main.rs:315:35:315:35 | n | +| main.rs:315:24:315:24 | n | main.rs:315:24:315:24 | [SSA] n | +| main.rs:315:24:315:24 | n | main.rs:315:24:315:24 | n | +| main.rs:315:30:315:36 | sink(...) | main.rs:314:5:317:5 | match s1 { ... } | +| main.rs:316:24:316:24 | [SSA] n | main.rs:316:35:316:35 | n | +| main.rs:316:24:316:24 | n | main.rs:316:24:316:24 | [SSA] n | +| main.rs:316:24:316:24 | n | main.rs:316:24:316:24 | n | +| main.rs:316:30:316:36 | sink(...) | main.rs:314:5:317:5 | match s1 { ... } | +| main.rs:318:11:318:12 | s1 | main.rs:319:9:319:45 | ... \| ... | +| main.rs:319:9:319:45 | ... \| ... | main.rs:319:9:319:25 | ...::A(...) | +| main.rs:319:9:319:45 | ... \| ... | main.rs:319:29:319:45 | ...::B(...) | +| main.rs:319:9:319:45 | [SSA] phi | main.rs:319:55:319:55 | n | +| main.rs:319:24:319:24 | [SSA] [input] phi | main.rs:319:9:319:45 | [SSA] phi | +| main.rs:319:24:319:24 | [SSA] n | main.rs:319:24:319:24 | [SSA] [input] phi | +| main.rs:319:24:319:24 | n | main.rs:319:24:319:24 | [SSA] n | +| main.rs:319:24:319:24 | n | main.rs:319:24:319:24 | n | +| main.rs:319:44:319:44 | [SSA] [input] phi | main.rs:319:9:319:45 | [SSA] phi | +| main.rs:319:44:319:44 | [SSA] n | main.rs:319:44:319:44 | [SSA] [input] phi | +| main.rs:319:44:319:44 | n | main.rs:319:44:319:44 | [SSA] n | +| main.rs:319:44:319:44 | n | main.rs:319:44:319:44 | n | +| main.rs:319:50:319:56 | sink(...) | main.rs:318:5:320:5 | match s1 { ... } | +| main.rs:321:5:324:5 | match s2 { ... } | main.rs:311:48:325:1 | { ... } | +| main.rs:321:11:321:12 | s2 | main.rs:322:9:322:25 | ...::A(...) | +| main.rs:321:11:321:12 | s2 | main.rs:323:9:323:25 | ...::B(...) | +| main.rs:322:24:322:24 | [SSA] n | main.rs:322:35:322:35 | n | +| main.rs:322:24:322:24 | n | main.rs:322:24:322:24 | [SSA] n | +| main.rs:322:24:322:24 | n | main.rs:322:24:322:24 | n | +| main.rs:322:30:322:36 | sink(...) | main.rs:321:5:324:5 | match s2 { ... } | +| main.rs:323:24:323:24 | [SSA] n | main.rs:323:35:323:35 | n | +| main.rs:323:24:323:24 | n | main.rs:323:24:323:24 | [SSA] n | +| main.rs:323:24:323:24 | n | main.rs:323:24:323:24 | n | +| main.rs:323:30:323:36 | sink(...) | main.rs:321:5:324:5 | match s2 { ... } | +| main.rs:330:9:330:10 | [SSA] s1 | main.rs:332:11:332:12 | s1 | +| main.rs:330:9:330:10 | s1 | main.rs:330:9:330:10 | [SSA] s1 | +| main.rs:330:9:330:10 | s1 | main.rs:330:9:330:10 | s1 | +| main.rs:330:14:330:26 | A(...) | main.rs:330:9:330:10 | s1 | +| main.rs:331:9:331:10 | [SSA] s2 | main.rs:339:11:339:12 | s2 | +| main.rs:331:9:331:10 | s2 | main.rs:331:9:331:10 | [SSA] s2 | +| main.rs:331:9:331:10 | s2 | main.rs:331:9:331:10 | s2 | +| main.rs:331:14:331:17 | B(...) | main.rs:331:9:331:10 | s2 | +| main.rs:332:11:332:12 | s1 | main.rs:333:9:333:12 | A(...) | +| main.rs:332:11:332:12 | s1 | main.rs:334:9:334:12 | B(...) | +| main.rs:332:11:332:12 | s1 | main.rs:336:11:336:12 | s1 | +| main.rs:333:11:333:11 | [SSA] n | main.rs:333:22:333:22 | n | +| main.rs:333:11:333:11 | n | main.rs:333:11:333:11 | [SSA] n | +| main.rs:333:11:333:11 | n | main.rs:333:11:333:11 | n | +| main.rs:333:17:333:23 | sink(...) | main.rs:332:5:335:5 | match s1 { ... } | +| main.rs:334:11:334:11 | [SSA] n | main.rs:334:22:334:22 | n | +| main.rs:334:11:334:11 | n | main.rs:334:11:334:11 | [SSA] n | +| main.rs:334:11:334:11 | n | main.rs:334:11:334:11 | n | +| main.rs:334:17:334:23 | sink(...) | main.rs:332:5:335:5 | match s1 { ... } | +| main.rs:336:11:336:12 | s1 | main.rs:337:9:337:19 | ... \| ... | +| main.rs:337:9:337:19 | ... \| ... | main.rs:337:9:337:12 | A(...) | +| main.rs:337:9:337:19 | ... \| ... | main.rs:337:16:337:19 | B(...) | +| main.rs:337:9:337:19 | [SSA] phi | main.rs:337:29:337:29 | n | +| main.rs:337:11:337:11 | [SSA] [input] phi | main.rs:337:9:337:19 | [SSA] phi | +| main.rs:337:11:337:11 | [SSA] n | main.rs:337:11:337:11 | [SSA] [input] phi | +| main.rs:337:11:337:11 | n | main.rs:337:11:337:11 | [SSA] n | +| main.rs:337:11:337:11 | n | main.rs:337:11:337:11 | n | +| main.rs:337:18:337:18 | [SSA] [input] phi | main.rs:337:9:337:19 | [SSA] phi | +| main.rs:337:18:337:18 | [SSA] n | main.rs:337:18:337:18 | [SSA] [input] phi | +| main.rs:337:18:337:18 | n | main.rs:337:18:337:18 | [SSA] n | +| main.rs:337:18:337:18 | n | main.rs:337:18:337:18 | n | +| main.rs:337:24:337:30 | sink(...) | main.rs:336:5:338:5 | match s1 { ... } | +| main.rs:339:5:342:5 | match s2 { ... } | main.rs:329:50:343:1 | { ... } | +| main.rs:339:11:339:12 | s2 | main.rs:340:9:340:12 | A(...) | +| main.rs:339:11:339:12 | s2 | main.rs:341:9:341:12 | B(...) | +| main.rs:340:11:340:11 | [SSA] n | main.rs:340:22:340:22 | n | +| main.rs:340:11:340:11 | n | main.rs:340:11:340:11 | [SSA] n | +| main.rs:340:11:340:11 | n | main.rs:340:11:340:11 | n | +| main.rs:340:17:340:23 | sink(...) | main.rs:339:5:342:5 | match s2 { ... } | +| main.rs:341:11:341:11 | [SSA] n | main.rs:341:22:341:22 | n | +| main.rs:341:11:341:11 | n | main.rs:341:11:341:11 | [SSA] n | +| main.rs:341:11:341:11 | n | main.rs:341:11:341:11 | n | +| main.rs:341:17:341:23 | sink(...) | main.rs:339:5:342:5 | match s2 { ... } | +| main.rs:351:9:351:10 | [SSA] s1 | main.rs:355:11:355:12 | s1 | +| main.rs:351:9:351:10 | s1 | main.rs:351:9:351:10 | [SSA] s1 | +| main.rs:351:9:351:10 | s1 | main.rs:351:9:351:10 | s1 | +| main.rs:351:14:353:5 | ...::C {...} | main.rs:351:9:351:10 | s1 | +| main.rs:354:9:354:10 | [SSA] s2 | main.rs:362:11:362:12 | s2 | +| main.rs:354:9:354:10 | s2 | main.rs:354:9:354:10 | [SSA] s2 | +| main.rs:354:9:354:10 | s2 | main.rs:354:9:354:10 | s2 | +| main.rs:354:14:354:43 | ...::D {...} | main.rs:354:9:354:10 | s2 | +| main.rs:355:11:355:12 | s1 | main.rs:356:9:356:38 | ...::C {...} | +| main.rs:355:11:355:12 | s1 | main.rs:357:9:357:38 | ...::D {...} | +| main.rs:355:11:355:12 | s1 | main.rs:359:11:359:12 | s1 | +| main.rs:356:36:356:36 | [SSA] n | main.rs:356:48:356:48 | n | +| main.rs:356:36:356:36 | n | main.rs:356:36:356:36 | [SSA] n | +| main.rs:356:36:356:36 | n | main.rs:356:36:356:36 | n | +| main.rs:356:43:356:49 | sink(...) | main.rs:355:5:358:5 | match s1 { ... } | +| main.rs:357:36:357:36 | [SSA] n | main.rs:357:48:357:48 | n | +| main.rs:357:36:357:36 | n | main.rs:357:36:357:36 | [SSA] n | +| main.rs:357:36:357:36 | n | main.rs:357:36:357:36 | n | +| main.rs:357:43:357:49 | sink(...) | main.rs:355:5:358:5 | match s1 { ... } | +| main.rs:359:11:359:12 | s1 | main.rs:360:9:360:71 | ... \| ... | +| main.rs:360:9:360:71 | ... \| ... | main.rs:360:9:360:38 | ...::C {...} | +| main.rs:360:9:360:71 | ... \| ... | main.rs:360:42:360:71 | ...::D {...} | +| main.rs:360:9:360:71 | [SSA] phi | main.rs:360:81:360:81 | n | +| main.rs:360:36:360:36 | [SSA] [input] phi | main.rs:360:9:360:71 | [SSA] phi | +| main.rs:360:36:360:36 | [SSA] n | main.rs:360:36:360:36 | [SSA] [input] phi | +| main.rs:360:36:360:36 | n | main.rs:360:36:360:36 | [SSA] n | +| main.rs:360:36:360:36 | n | main.rs:360:36:360:36 | n | +| main.rs:360:69:360:69 | [SSA] [input] phi | main.rs:360:9:360:71 | [SSA] phi | +| main.rs:360:69:360:69 | [SSA] n | main.rs:360:69:360:69 | [SSA] [input] phi | +| main.rs:360:69:360:69 | n | main.rs:360:69:360:69 | [SSA] n | +| main.rs:360:69:360:69 | n | main.rs:360:69:360:69 | n | +| main.rs:360:76:360:82 | sink(...) | main.rs:359:5:361:5 | match s1 { ... } | +| main.rs:362:5:365:5 | match s2 { ... } | main.rs:350:49:366:1 | { ... } | +| main.rs:362:11:362:12 | s2 | main.rs:363:9:363:38 | ...::C {...} | +| main.rs:362:11:362:12 | s2 | main.rs:364:9:364:38 | ...::D {...} | +| main.rs:363:36:363:36 | [SSA] n | main.rs:363:48:363:48 | n | +| main.rs:363:36:363:36 | n | main.rs:363:36:363:36 | [SSA] n | +| main.rs:363:36:363:36 | n | main.rs:363:36:363:36 | n | +| main.rs:363:43:363:49 | sink(...) | main.rs:362:5:365:5 | match s2 { ... } | +| main.rs:364:36:364:36 | [SSA] n | main.rs:364:48:364:48 | n | +| main.rs:364:36:364:36 | n | main.rs:364:36:364:36 | [SSA] n | +| main.rs:364:36:364:36 | n | main.rs:364:36:364:36 | n | +| main.rs:364:43:364:49 | sink(...) | main.rs:362:5:365:5 | match s2 { ... } | +| main.rs:371:9:371:10 | [SSA] s1 | main.rs:375:11:375:12 | s1 | +| main.rs:371:9:371:10 | s1 | main.rs:371:9:371:10 | [SSA] s1 | +| main.rs:371:9:371:10 | s1 | main.rs:371:9:371:10 | s1 | +| main.rs:371:14:373:5 | C {...} | main.rs:371:9:371:10 | s1 | +| main.rs:374:9:374:10 | [SSA] s2 | main.rs:382:11:382:12 | s2 | +| main.rs:374:9:374:10 | s2 | main.rs:374:9:374:10 | [SSA] s2 | +| main.rs:374:9:374:10 | s2 | main.rs:374:9:374:10 | s2 | +| main.rs:374:14:374:29 | D {...} | main.rs:374:9:374:10 | s2 | +| main.rs:375:11:375:12 | s1 | main.rs:376:9:376:24 | C {...} | +| main.rs:375:11:375:12 | s1 | main.rs:377:9:377:24 | D {...} | +| main.rs:375:11:375:12 | s1 | main.rs:379:11:379:12 | s1 | +| main.rs:376:22:376:22 | [SSA] n | main.rs:376:34:376:34 | n | +| main.rs:376:22:376:22 | n | main.rs:376:22:376:22 | [SSA] n | +| main.rs:376:22:376:22 | n | main.rs:376:22:376:22 | n | +| main.rs:376:29:376:35 | sink(...) | main.rs:375:5:378:5 | match s1 { ... } | +| main.rs:377:22:377:22 | [SSA] n | main.rs:377:34:377:34 | n | +| main.rs:377:22:377:22 | n | main.rs:377:22:377:22 | [SSA] n | +| main.rs:377:22:377:22 | n | main.rs:377:22:377:22 | n | +| main.rs:377:29:377:35 | sink(...) | main.rs:375:5:378:5 | match s1 { ... } | +| main.rs:379:11:379:12 | s1 | main.rs:380:9:380:43 | ... \| ... | +| main.rs:380:9:380:43 | ... \| ... | main.rs:380:9:380:24 | C {...} | +| main.rs:380:9:380:43 | ... \| ... | main.rs:380:28:380:43 | D {...} | +| main.rs:380:9:380:43 | [SSA] phi | main.rs:380:53:380:53 | n | +| main.rs:380:22:380:22 | [SSA] [input] phi | main.rs:380:9:380:43 | [SSA] phi | +| main.rs:380:22:380:22 | [SSA] n | main.rs:380:22:380:22 | [SSA] [input] phi | +| main.rs:380:22:380:22 | n | main.rs:380:22:380:22 | [SSA] n | +| main.rs:380:22:380:22 | n | main.rs:380:22:380:22 | n | +| main.rs:380:41:380:41 | [SSA] [input] phi | main.rs:380:9:380:43 | [SSA] phi | +| main.rs:380:41:380:41 | [SSA] n | main.rs:380:41:380:41 | [SSA] [input] phi | +| main.rs:380:41:380:41 | n | main.rs:380:41:380:41 | [SSA] n | +| main.rs:380:41:380:41 | n | main.rs:380:41:380:41 | n | +| main.rs:380:48:380:54 | sink(...) | main.rs:379:5:381:5 | match s1 { ... } | +| main.rs:382:5:385:5 | match s2 { ... } | main.rs:370:51:386:1 | { ... } | +| main.rs:382:11:382:12 | s2 | main.rs:383:9:383:24 | C {...} | +| main.rs:382:11:382:12 | s2 | main.rs:384:9:384:24 | D {...} | +| main.rs:383:22:383:22 | [SSA] n | main.rs:383:34:383:34 | n | +| main.rs:383:22:383:22 | n | main.rs:383:22:383:22 | [SSA] n | +| main.rs:383:22:383:22 | n | main.rs:383:22:383:22 | n | +| main.rs:383:29:383:35 | sink(...) | main.rs:382:5:385:5 | match s2 { ... } | +| main.rs:384:22:384:22 | [SSA] n | main.rs:384:34:384:34 | n | +| main.rs:384:22:384:22 | n | main.rs:384:22:384:22 | [SSA] n | +| main.rs:384:22:384:22 | n | main.rs:384:22:384:22 | n | +| main.rs:384:29:384:35 | sink(...) | main.rs:382:5:385:5 | match s2 { ... } | +| main.rs:392:9:392:12 | [SSA] arr1 | main.rs:393:14:393:17 | arr1 | | main.rs:392:9:392:12 | arr1 | main.rs:392:9:392:12 | [SSA] arr1 | | main.rs:392:9:392:12 | arr1 | main.rs:392:9:392:12 | arr1 | | main.rs:392:16:392:33 | [...] | main.rs:392:9:392:12 | arr1 | -| main.rs:393:9:393:10 | [SSA] n1 | main.rs:394:14:394:15 | n1 | +| main.rs:393:9:393:10 | [SSA] n1 | main.rs:394:10:394:11 | n1 | | main.rs:393:9:393:10 | n1 | main.rs:393:9:393:10 | [SSA] n1 | | main.rs:393:9:393:10 | n1 | main.rs:393:9:393:10 | n1 | -| main.rs:397:9:397:12 | [SSA] arr2 | main.rs:398:15:398:18 | arr2 | -| main.rs:397:9:397:12 | arr2 | main.rs:397:9:397:12 | [SSA] arr2 | -| main.rs:397:9:397:12 | arr2 | main.rs:397:9:397:12 | arr2 | -| main.rs:397:16:397:24 | [...] | main.rs:397:9:397:12 | arr2 | -| main.rs:398:5:400:5 | for ... in ... { ... } | main.rs:391:21:401:1 | { ... } | -| main.rs:398:9:398:10 | [SSA] n2 | main.rs:399:14:399:15 | n2 | -| main.rs:398:9:398:10 | n2 | main.rs:398:9:398:10 | [SSA] n2 | -| main.rs:398:9:398:10 | n2 | main.rs:398:9:398:10 | n2 | -| main.rs:404:9:404:12 | [SSA] arr1 | main.rs:405:11:405:14 | arr1 | -| main.rs:404:9:404:12 | arr1 | main.rs:404:9:404:12 | [SSA] arr1 | -| main.rs:404:9:404:12 | arr1 | main.rs:404:9:404:12 | arr1 | -| main.rs:404:16:404:33 | [...] | main.rs:404:9:404:12 | arr1 | -| main.rs:405:5:411:5 | match arr1 { ... } | main.rs:403:26:412:1 | { ... } | -| main.rs:405:11:405:14 | arr1 | main.rs:406:9:406:17 | SlicePat | -| main.rs:406:10:406:10 | [SSA] a | main.rs:407:18:407:18 | a | -| main.rs:406:10:406:10 | a | main.rs:406:10:406:10 | [SSA] a | -| main.rs:406:10:406:10 | a | main.rs:406:10:406:10 | a | -| main.rs:406:13:406:13 | [SSA] b | main.rs:408:18:408:18 | b | -| main.rs:406:13:406:13 | b | main.rs:406:13:406:13 | [SSA] b | -| main.rs:406:13:406:13 | b | main.rs:406:13:406:13 | b | -| main.rs:406:16:406:16 | [SSA] c | main.rs:409:18:409:18 | c | -| main.rs:406:16:406:16 | c | main.rs:406:16:406:16 | [SSA] c | -| main.rs:406:16:406:16 | c | main.rs:406:16:406:16 | c | -| main.rs:406:22:410:9 | { ... } | main.rs:405:5:411:5 | match arr1 { ... } | -| main.rs:415:9:415:19 | mut mut_arr | main.rs:415:13:415:19 | mut_arr | -| main.rs:415:13:415:19 | [SSA] mut_arr | main.rs:416:10:416:16 | mut_arr | -| main.rs:415:13:415:19 | mut_arr | main.rs:415:13:415:19 | [SSA] mut_arr | -| main.rs:415:23:415:31 | [...] | main.rs:415:9:415:19 | mut mut_arr | -| main.rs:416:10:416:16 | [post] mut_arr | main.rs:418:5:418:11 | mut_arr | -| main.rs:416:10:416:16 | mut_arr | main.rs:418:5:418:11 | mut_arr | -| main.rs:418:5:418:11 | [post] mut_arr | main.rs:419:13:419:19 | mut_arr | -| main.rs:418:5:418:11 | mut_arr | main.rs:419:13:419:19 | mut_arr | -| main.rs:418:18:418:27 | source(...) | main.rs:418:5:418:14 | mut_arr[1] | -| main.rs:419:9:419:9 | [SSA] d | main.rs:420:10:420:10 | d | -| main.rs:419:9:419:9 | d | main.rs:419:9:419:9 | [SSA] d | -| main.rs:419:9:419:9 | d | main.rs:419:9:419:9 | d | -| main.rs:419:13:419:19 | [post] mut_arr | main.rs:421:10:421:16 | mut_arr | -| main.rs:419:13:419:19 | mut_arr | main.rs:421:10:421:16 | mut_arr | -| main.rs:419:13:419:22 | mut_arr[1] | main.rs:419:9:419:9 | d | -| main.rs:426:39:426:43 | [SSA] names | main.rs:428:25:428:29 | names | -| main.rs:426:39:426:43 | names | main.rs:426:39:426:43 | [SSA] names | -| main.rs:426:39:426:43 | names | main.rs:426:39:426:43 | names | -| main.rs:426:39:426:72 | ...: Vec::<...> | main.rs:426:39:426:43 | names | -| main.rs:427:9:427:20 | default_name | main.rs:427:9:427:20 | [SSA] default_name | -| main.rs:427:9:427:20 | default_name | main.rs:427:9:427:20 | default_name | -| main.rs:427:24:427:45 | ... .to_string(...) | main.rs:427:9:427:20 | default_name | -| main.rs:427:24:427:45 | ... .to_string(...) | main.rs:428:9:428:20 | phi(default_name) | -| main.rs:428:5:434:5 | for ... in ... { ... } | main.rs:426:75:435:1 | { ... } | -| main.rs:428:9:428:20 | phi(default_name) | main.rs:428:9:428:20 | phi(default_name) | -| main.rs:428:9:428:20 | phi(default_name) | main.rs:430:41:430:67 | default_name | -| main.rs:428:10:428:13 | [SSA] cond | main.rs:429:12:429:15 | cond | -| main.rs:428:10:428:13 | cond | main.rs:428:10:428:13 | [SSA] cond | -| main.rs:428:10:428:13 | cond | main.rs:428:10:428:13 | cond | -| main.rs:428:16:428:19 | [SSA] name | main.rs:430:21:430:24 | name | -| main.rs:428:16:428:19 | name | main.rs:428:16:428:19 | [SSA] name | -| main.rs:428:16:428:19 | name | main.rs:428:16:428:19 | name | -| main.rs:429:9:433:9 | if cond {...} | main.rs:428:31:434:5 | { ... } | -| main.rs:430:17:430:17 | [SSA] n | main.rs:431:18:431:18 | n | -| main.rs:430:17:430:17 | n | main.rs:430:17:430:17 | [SSA] n | -| main.rs:430:17:430:17 | n | main.rs:430:17:430:17 | n | -| main.rs:430:21:430:68 | name.unwrap_or_else(...) | main.rs:430:17:430:17 | n | -| main.rs:430:41:430:67 | [post] default_name | main.rs:428:9:428:20 | phi(default_name) | -| main.rs:430:41:430:67 | closure self in \|...\| ... | main.rs:430:44:430:55 | this | -| main.rs:430:41:430:67 | default_name | main.rs:428:9:428:20 | phi(default_name) | -| main.rs:444:9:444:9 | [SSA] s | main.rs:445:10:445:10 | s | -| main.rs:444:9:444:9 | s | main.rs:444:9:444:9 | [SSA] s | -| main.rs:444:9:444:9 | s | main.rs:444:9:444:9 | s | -| main.rs:444:13:444:27 | MacroExpr | main.rs:444:9:444:9 | s | -| main.rs:444:25:444:26 | source(...) | main.rs:444:13:444:27 | MacroExpr | -| main.rs:448:16:448:16 | [SSA] s | main.rs:449:20:449:20 | s | -| main.rs:448:16:448:16 | s | main.rs:448:16:448:16 | [SSA] s | -| main.rs:448:16:448:16 | s | main.rs:448:16:448:16 | s | -| main.rs:448:16:448:24 | ...: String | main.rs:448:16:448:16 | s | -| main.rs:449:14:449:20 | FormatArgsExpr | main.rs:449:14:449:20 | MacroExpr | -| main.rs:453:9:453:9 | [SSA] a | main.rs:454:13:454:13 | a | -| main.rs:453:9:453:9 | a | main.rs:453:9:453:9 | [SSA] a | -| main.rs:453:9:453:9 | a | main.rs:453:9:453:9 | a | -| main.rs:453:13:453:22 | source(...) | main.rs:453:9:453:9 | a | -| main.rs:454:9:454:9 | [SSA] b | main.rs:455:13:455:13 | b | -| main.rs:454:9:454:9 | b | main.rs:454:9:454:9 | [SSA] b | -| main.rs:454:9:454:9 | b | main.rs:454:9:454:9 | b | -| main.rs:454:13:454:13 | [post] a | main.rs:458:10:458:10 | a | -| main.rs:454:13:454:13 | a | main.rs:458:10:458:10 | a | -| main.rs:454:13:454:25 | a.to_string(...) | main.rs:454:9:454:9 | b | -| main.rs:455:9:455:9 | [SSA] c | main.rs:460:10:460:10 | c | -| main.rs:455:9:455:9 | c | main.rs:455:9:455:9 | [SSA] c | -| main.rs:455:9:455:9 | c | main.rs:455:9:455:9 | c | -| main.rs:455:13:455:13 | [post] b | main.rs:456:19:456:19 | b | -| main.rs:455:13:455:13 | b | main.rs:456:19:456:19 | b | -| main.rs:455:13:455:37 | ... .unwrap(...) | main.rs:455:9:455:9 | c | -| main.rs:456:9:456:9 | [SSA] d | main.rs:461:10:461:10 | d | -| main.rs:456:9:456:9 | d | main.rs:456:9:456:9 | [SSA] d | -| main.rs:456:9:456:9 | d | main.rs:456:9:456:9 | d | -| main.rs:456:19:456:19 | [post] b | main.rs:459:17:459:17 | b | -| main.rs:456:19:456:19 | b | main.rs:459:17:459:17 | b | -| main.rs:456:19:456:36 | ... .unwrap(...) | main.rs:456:9:456:9 | d | -| main.rs:465:9:465:10 | [SSA] vs | main.rs:467:10:467:11 | vs | -| main.rs:465:9:465:10 | vs | main.rs:465:9:465:10 | [SSA] vs | -| main.rs:465:9:465:10 | vs | main.rs:465:9:465:10 | vs | -| main.rs:465:14:465:34 | [...] | main.rs:465:9:465:10 | vs | -| main.rs:467:10:467:11 | [post] vs | main.rs:468:11:468:12 | vs | -| main.rs:467:10:467:11 | vs | main.rs:468:11:468:12 | vs | -| main.rs:468:11:468:12 | [post] vs | main.rs:469:11:469:12 | vs | -| main.rs:468:11:468:12 | vs | main.rs:469:11:469:12 | vs | -| main.rs:469:11:469:12 | [post] vs | main.rs:471:14:471:15 | vs | -| main.rs:469:11:469:12 | vs | main.rs:471:14:471:15 | vs | -| main.rs:471:9:471:9 | [SSA] v | main.rs:472:14:472:14 | v | -| main.rs:471:9:471:9 | v | main.rs:471:9:471:9 | [SSA] v | -| main.rs:471:9:471:9 | v | main.rs:471:9:471:9 | v | -| main.rs:471:14:471:15 | vs | main.rs:474:15:474:16 | vs | -| main.rs:474:10:474:10 | [SSA] v | main.rs:475:14:475:14 | v | -| main.rs:474:10:474:10 | v | main.rs:474:10:474:10 | [SSA] v | -| main.rs:474:10:474:10 | v | main.rs:474:10:474:10 | v | -| main.rs:474:15:474:16 | [post] vs | main.rs:478:27:478:28 | vs | -| main.rs:474:15:474:16 | vs | main.rs:478:27:478:28 | vs | -| main.rs:478:9:478:11 | [SSA] vs2 | main.rs:479:15:479:17 | vs2 | -| main.rs:478:9:478:11 | vs2 | main.rs:478:9:478:11 | [SSA] vs2 | -| main.rs:478:9:478:11 | vs2 | main.rs:478:9:478:11 | vs2 | -| main.rs:478:27:478:28 | [post] vs | main.rs:483:5:483:6 | vs | -| main.rs:478:27:478:28 | vs | main.rs:483:5:483:6 | vs | -| main.rs:478:27:478:45 | ... .collect(...) | main.rs:478:9:478:11 | vs2 | -| main.rs:479:10:479:10 | [SSA] v | main.rs:480:14:480:14 | v | -| main.rs:479:10:479:10 | v | main.rs:479:10:479:10 | [SSA] v | -| main.rs:479:10:479:10 | v | main.rs:479:10:479:10 | v | -| main.rs:483:5:483:6 | [post] vs | main.rs:484:5:484:6 | vs | -| main.rs:483:5:483:6 | vs | main.rs:484:5:484:6 | vs | -| main.rs:483:20:483:20 | ... | main.rs:483:20:483:20 | x | -| main.rs:483:20:483:20 | [SSA] x | main.rs:483:29:483:29 | x | -| main.rs:483:20:483:20 | x | main.rs:483:20:483:20 | [SSA] x | -| main.rs:483:20:483:20 | x | main.rs:483:20:483:20 | x | -| main.rs:484:5:484:6 | [post] vs | main.rs:486:14:486:15 | vs | -| main.rs:484:5:484:6 | vs | main.rs:486:14:486:15 | vs | -| main.rs:484:25:484:25 | ... | main.rs:484:25:484:25 | x | -| main.rs:484:25:484:25 | [SSA] x | main.rs:484:34:484:34 | x | -| main.rs:484:25:484:25 | x | main.rs:484:25:484:25 | [SSA] x | -| main.rs:484:25:484:25 | x | main.rs:484:25:484:25 | x | -| main.rs:486:9:486:9 | [SSA] v | main.rs:487:14:487:14 | v | -| main.rs:486:9:486:9 | v | main.rs:486:9:486:9 | [SSA] v | -| main.rs:486:9:486:9 | v | main.rs:486:9:486:9 | v | -| main.rs:490:9:490:18 | mut vs_mut | main.rs:490:13:490:18 | vs_mut | -| main.rs:490:22:490:42 | [...] | main.rs:490:9:490:18 | mut vs_mut | -| main.rs:496:5:498:5 | for ... in ... { ... } | main.rs:464:16:499:1 | { ... } | -| main.rs:496:14:496:14 | [SSA] v | main.rs:497:14:497:14 | v | -| main.rs:496:14:496:14 | v | main.rs:496:14:496:14 | [SSA] v | -| main.rs:496:14:496:14 | v | main.rs:496:14:496:14 | v | -| main.rs:502:9:502:9 | [SSA] a | main.rs:507:10:507:10 | a | -| main.rs:502:9:502:9 | a | main.rs:502:9:502:9 | [SSA] a | -| main.rs:502:9:502:9 | a | main.rs:502:9:502:9 | a | -| main.rs:502:13:502:22 | source(...) | main.rs:502:9:502:9 | a | -| main.rs:503:9:503:9 | [SSA] b | main.rs:508:15:508:15 | b | -| main.rs:503:9:503:9 | b | main.rs:503:9:503:9 | [SSA] b | -| main.rs:503:9:503:9 | b | main.rs:503:9:503:9 | b | -| main.rs:503:13:503:22 | source(...) | main.rs:503:9:503:9 | b | -| main.rs:504:9:504:9 | [SSA] c | main.rs:505:18:505:18 | c | -| main.rs:504:9:504:9 | c | main.rs:504:9:504:9 | [SSA] c | -| main.rs:504:9:504:9 | c | main.rs:504:9:504:9 | c | -| main.rs:504:13:504:22 | source(...) | main.rs:504:9:504:9 | c | -| main.rs:505:9:505:13 | [SSA] c_ref | main.rs:509:14:509:18 | c_ref | -| main.rs:505:9:505:13 | c_ref | main.rs:505:9:505:13 | [SSA] c_ref | -| main.rs:505:9:505:13 | c_ref | main.rs:505:9:505:13 | c_ref | -| main.rs:505:17:505:18 | &c | main.rs:505:9:505:13 | c_ref | -| main.rs:509:14:509:18 | [post] c_ref | main.rs:510:11:510:15 | c_ref | -| main.rs:509:14:509:18 | c_ref | main.rs:510:11:510:15 | c_ref | -| main.rs:536:13:536:33 | result_questionmark(...) | main.rs:536:9:536:9 | _ | -| main.rs:548:36:548:41 | ...::new(...) | main.rs:548:36:548:41 | MacroExpr | +| main.rs:393:14:393:20 | arr1[2] | main.rs:393:9:393:10 | n1 | +| main.rs:396:9:396:12 | [SSA] arr2 | main.rs:397:14:397:17 | arr2 | +| main.rs:396:9:396:12 | arr2 | main.rs:396:9:396:12 | [SSA] arr2 | +| main.rs:396:9:396:12 | arr2 | main.rs:396:9:396:12 | arr2 | +| main.rs:396:16:396:31 | [...; 10] | main.rs:396:9:396:12 | arr2 | +| main.rs:397:9:397:10 | [SSA] n2 | main.rs:398:10:398:11 | n2 | +| main.rs:397:9:397:10 | n2 | main.rs:397:9:397:10 | [SSA] n2 | +| main.rs:397:9:397:10 | n2 | main.rs:397:9:397:10 | n2 | +| main.rs:397:14:397:20 | arr2[4] | main.rs:397:9:397:10 | n2 | +| main.rs:400:9:400:12 | [SSA] arr3 | main.rs:401:14:401:17 | arr3 | +| main.rs:400:9:400:12 | arr3 | main.rs:400:9:400:12 | [SSA] arr3 | +| main.rs:400:9:400:12 | arr3 | main.rs:400:9:400:12 | arr3 | +| main.rs:400:16:400:24 | [...] | main.rs:400:9:400:12 | arr3 | +| main.rs:401:9:401:10 | [SSA] n3 | main.rs:402:10:402:11 | n3 | +| main.rs:401:9:401:10 | n3 | main.rs:401:9:401:10 | [SSA] n3 | +| main.rs:401:9:401:10 | n3 | main.rs:401:9:401:10 | n3 | +| main.rs:401:14:401:20 | arr3[2] | main.rs:401:9:401:10 | n3 | +| main.rs:406:9:406:12 | [SSA] arr1 | main.rs:407:15:407:18 | arr1 | +| main.rs:406:9:406:12 | arr1 | main.rs:406:9:406:12 | [SSA] arr1 | +| main.rs:406:9:406:12 | arr1 | main.rs:406:9:406:12 | arr1 | +| main.rs:406:16:406:33 | [...] | main.rs:406:9:406:12 | arr1 | +| main.rs:407:9:407:10 | [SSA] n1 | main.rs:408:14:408:15 | n1 | +| main.rs:407:9:407:10 | n1 | main.rs:407:9:407:10 | [SSA] n1 | +| main.rs:407:9:407:10 | n1 | main.rs:407:9:407:10 | n1 | +| main.rs:411:9:411:12 | [SSA] arr2 | main.rs:412:15:412:18 | arr2 | +| main.rs:411:9:411:12 | arr2 | main.rs:411:9:411:12 | [SSA] arr2 | +| main.rs:411:9:411:12 | arr2 | main.rs:411:9:411:12 | arr2 | +| main.rs:411:16:411:24 | [...] | main.rs:411:9:411:12 | arr2 | +| main.rs:412:5:414:5 | for ... in ... { ... } | main.rs:405:21:415:1 | { ... } | +| main.rs:412:9:412:10 | [SSA] n2 | main.rs:413:14:413:15 | n2 | +| main.rs:412:9:412:10 | n2 | main.rs:412:9:412:10 | [SSA] n2 | +| main.rs:412:9:412:10 | n2 | main.rs:412:9:412:10 | n2 | +| main.rs:418:9:418:12 | [SSA] arr1 | main.rs:419:11:419:14 | arr1 | +| main.rs:418:9:418:12 | arr1 | main.rs:418:9:418:12 | [SSA] arr1 | +| main.rs:418:9:418:12 | arr1 | main.rs:418:9:418:12 | arr1 | +| main.rs:418:16:418:33 | [...] | main.rs:418:9:418:12 | arr1 | +| main.rs:419:5:425:5 | match arr1 { ... } | main.rs:417:26:426:1 | { ... } | +| main.rs:419:11:419:14 | arr1 | main.rs:420:9:420:17 | SlicePat | +| main.rs:420:10:420:10 | [SSA] a | main.rs:421:18:421:18 | a | +| main.rs:420:10:420:10 | a | main.rs:420:10:420:10 | [SSA] a | +| main.rs:420:10:420:10 | a | main.rs:420:10:420:10 | a | +| main.rs:420:13:420:13 | [SSA] b | main.rs:422:18:422:18 | b | +| main.rs:420:13:420:13 | b | main.rs:420:13:420:13 | [SSA] b | +| main.rs:420:13:420:13 | b | main.rs:420:13:420:13 | b | +| main.rs:420:16:420:16 | [SSA] c | main.rs:423:18:423:18 | c | +| main.rs:420:16:420:16 | c | main.rs:420:16:420:16 | [SSA] c | +| main.rs:420:16:420:16 | c | main.rs:420:16:420:16 | c | +| main.rs:420:22:424:9 | { ... } | main.rs:419:5:425:5 | match arr1 { ... } | +| main.rs:429:9:429:19 | mut mut_arr | main.rs:429:13:429:19 | mut_arr | +| main.rs:429:13:429:19 | [SSA] mut_arr | main.rs:430:10:430:16 | mut_arr | +| main.rs:429:13:429:19 | mut_arr | main.rs:429:13:429:19 | [SSA] mut_arr | +| main.rs:429:23:429:31 | [...] | main.rs:429:9:429:19 | mut mut_arr | +| main.rs:430:10:430:16 | [post] mut_arr | main.rs:432:5:432:11 | mut_arr | +| main.rs:430:10:430:16 | mut_arr | main.rs:432:5:432:11 | mut_arr | +| main.rs:432:5:432:11 | [post] mut_arr | main.rs:433:13:433:19 | mut_arr | +| main.rs:432:5:432:11 | mut_arr | main.rs:433:13:433:19 | mut_arr | +| main.rs:432:18:432:27 | source(...) | main.rs:432:5:432:14 | mut_arr[1] | +| main.rs:433:9:433:9 | [SSA] d | main.rs:434:10:434:10 | d | +| main.rs:433:9:433:9 | d | main.rs:433:9:433:9 | [SSA] d | +| main.rs:433:9:433:9 | d | main.rs:433:9:433:9 | d | +| main.rs:433:13:433:19 | [post] mut_arr | main.rs:435:10:435:16 | mut_arr | +| main.rs:433:13:433:19 | mut_arr | main.rs:435:10:435:16 | mut_arr | +| main.rs:433:13:433:22 | mut_arr[1] | main.rs:433:9:433:9 | d | +| main.rs:440:39:440:43 | [SSA] names | main.rs:442:25:442:29 | names | +| main.rs:440:39:440:43 | names | main.rs:440:39:440:43 | [SSA] names | +| main.rs:440:39:440:43 | names | main.rs:440:39:440:43 | names | +| main.rs:440:39:440:72 | ...: Vec::<...> | main.rs:440:39:440:43 | names | +| main.rs:441:9:441:20 | default_name | main.rs:441:9:441:20 | [SSA] default_name | +| main.rs:441:9:441:20 | default_name | main.rs:441:9:441:20 | default_name | +| main.rs:441:24:441:45 | ... .to_string(...) | main.rs:441:9:441:20 | default_name | +| main.rs:441:24:441:45 | ... .to_string(...) | main.rs:442:9:442:20 | phi(default_name) | +| main.rs:442:5:448:5 | for ... in ... { ... } | main.rs:440:75:449:1 | { ... } | +| main.rs:442:9:442:20 | phi(default_name) | main.rs:442:9:442:20 | phi(default_name) | +| main.rs:442:9:442:20 | phi(default_name) | main.rs:444:41:444:67 | default_name | +| main.rs:442:10:442:13 | [SSA] cond | main.rs:443:12:443:15 | cond | +| main.rs:442:10:442:13 | cond | main.rs:442:10:442:13 | [SSA] cond | +| main.rs:442:10:442:13 | cond | main.rs:442:10:442:13 | cond | +| main.rs:442:16:442:19 | [SSA] name | main.rs:444:21:444:24 | name | +| main.rs:442:16:442:19 | name | main.rs:442:16:442:19 | [SSA] name | +| main.rs:442:16:442:19 | name | main.rs:442:16:442:19 | name | +| main.rs:443:9:447:9 | if cond {...} | main.rs:442:31:448:5 | { ... } | +| main.rs:444:17:444:17 | [SSA] n | main.rs:445:18:445:18 | n | +| main.rs:444:17:444:17 | n | main.rs:444:17:444:17 | [SSA] n | +| main.rs:444:17:444:17 | n | main.rs:444:17:444:17 | n | +| main.rs:444:21:444:68 | name.unwrap_or_else(...) | main.rs:444:17:444:17 | n | +| main.rs:444:41:444:67 | [post] default_name | main.rs:442:9:442:20 | phi(default_name) | +| main.rs:444:41:444:67 | closure self in \|...\| ... | main.rs:444:44:444:55 | this | +| main.rs:444:41:444:67 | default_name | main.rs:442:9:442:20 | phi(default_name) | +| main.rs:458:9:458:9 | [SSA] s | main.rs:459:10:459:10 | s | +| main.rs:458:9:458:9 | s | main.rs:458:9:458:9 | [SSA] s | +| main.rs:458:9:458:9 | s | main.rs:458:9:458:9 | s | +| main.rs:458:13:458:27 | MacroExpr | main.rs:458:9:458:9 | s | +| main.rs:458:25:458:26 | source(...) | main.rs:458:13:458:27 | MacroExpr | +| main.rs:462:16:462:16 | [SSA] s | main.rs:463:20:463:20 | s | +| main.rs:462:16:462:16 | s | main.rs:462:16:462:16 | [SSA] s | +| main.rs:462:16:462:16 | s | main.rs:462:16:462:16 | s | +| main.rs:462:16:462:24 | ...: String | main.rs:462:16:462:16 | s | +| main.rs:463:14:463:20 | FormatArgsExpr | main.rs:463:14:463:20 | MacroExpr | +| main.rs:467:9:467:9 | [SSA] a | main.rs:468:13:468:13 | a | +| main.rs:467:9:467:9 | a | main.rs:467:9:467:9 | [SSA] a | +| main.rs:467:9:467:9 | a | main.rs:467:9:467:9 | a | +| main.rs:467:13:467:22 | source(...) | main.rs:467:9:467:9 | a | +| main.rs:468:9:468:9 | [SSA] b | main.rs:469:13:469:13 | b | +| main.rs:468:9:468:9 | b | main.rs:468:9:468:9 | [SSA] b | +| main.rs:468:9:468:9 | b | main.rs:468:9:468:9 | b | +| main.rs:468:13:468:13 | [post] a | main.rs:472:10:472:10 | a | +| main.rs:468:13:468:13 | a | main.rs:472:10:472:10 | a | +| main.rs:468:13:468:25 | a.to_string(...) | main.rs:468:9:468:9 | b | +| main.rs:469:9:469:9 | [SSA] c | main.rs:474:10:474:10 | c | +| main.rs:469:9:469:9 | c | main.rs:469:9:469:9 | [SSA] c | +| main.rs:469:9:469:9 | c | main.rs:469:9:469:9 | c | +| main.rs:469:13:469:13 | [post] b | main.rs:470:19:470:19 | b | +| main.rs:469:13:469:13 | b | main.rs:470:19:470:19 | b | +| main.rs:469:13:469:37 | ... .unwrap(...) | main.rs:469:9:469:9 | c | +| main.rs:470:9:470:9 | [SSA] d | main.rs:475:10:475:10 | d | +| main.rs:470:9:470:9 | d | main.rs:470:9:470:9 | [SSA] d | +| main.rs:470:9:470:9 | d | main.rs:470:9:470:9 | d | +| main.rs:470:19:470:19 | [post] b | main.rs:473:17:473:17 | b | +| main.rs:470:19:470:19 | b | main.rs:473:17:473:17 | b | +| main.rs:470:19:470:36 | ... .unwrap(...) | main.rs:470:9:470:9 | d | +| main.rs:479:9:479:10 | [SSA] vs | main.rs:481:10:481:11 | vs | +| main.rs:479:9:479:10 | vs | main.rs:479:9:479:10 | [SSA] vs | +| main.rs:479:9:479:10 | vs | main.rs:479:9:479:10 | vs | +| main.rs:479:14:479:34 | [...] | main.rs:479:9:479:10 | vs | +| main.rs:481:10:481:11 | [post] vs | main.rs:482:11:482:12 | vs | +| main.rs:481:10:481:11 | vs | main.rs:482:11:482:12 | vs | +| main.rs:482:11:482:12 | [post] vs | main.rs:483:11:483:12 | vs | +| main.rs:482:11:482:12 | vs | main.rs:483:11:483:12 | vs | +| main.rs:483:11:483:12 | [post] vs | main.rs:485:14:485:15 | vs | +| main.rs:483:11:483:12 | vs | main.rs:485:14:485:15 | vs | +| main.rs:485:9:485:9 | [SSA] v | main.rs:486:14:486:14 | v | +| main.rs:485:9:485:9 | v | main.rs:485:9:485:9 | [SSA] v | +| main.rs:485:9:485:9 | v | main.rs:485:9:485:9 | v | +| main.rs:485:14:485:15 | vs | main.rs:488:15:488:16 | vs | +| main.rs:488:10:488:10 | [SSA] v | main.rs:489:14:489:14 | v | +| main.rs:488:10:488:10 | v | main.rs:488:10:488:10 | [SSA] v | +| main.rs:488:10:488:10 | v | main.rs:488:10:488:10 | v | +| main.rs:488:15:488:16 | [post] vs | main.rs:492:27:492:28 | vs | +| main.rs:488:15:488:16 | vs | main.rs:492:27:492:28 | vs | +| main.rs:492:9:492:11 | [SSA] vs2 | main.rs:493:15:493:17 | vs2 | +| main.rs:492:9:492:11 | vs2 | main.rs:492:9:492:11 | [SSA] vs2 | +| main.rs:492:9:492:11 | vs2 | main.rs:492:9:492:11 | vs2 | +| main.rs:492:27:492:28 | [post] vs | main.rs:497:5:497:6 | vs | +| main.rs:492:27:492:28 | vs | main.rs:497:5:497:6 | vs | +| main.rs:492:27:492:45 | ... .collect(...) | main.rs:492:9:492:11 | vs2 | +| main.rs:493:10:493:10 | [SSA] v | main.rs:494:14:494:14 | v | +| main.rs:493:10:493:10 | v | main.rs:493:10:493:10 | [SSA] v | +| main.rs:493:10:493:10 | v | main.rs:493:10:493:10 | v | +| main.rs:497:5:497:6 | [post] vs | main.rs:498:5:498:6 | vs | +| main.rs:497:5:497:6 | vs | main.rs:498:5:498:6 | vs | +| main.rs:497:20:497:20 | ... | main.rs:497:20:497:20 | x | +| main.rs:497:20:497:20 | [SSA] x | main.rs:497:29:497:29 | x | +| main.rs:497:20:497:20 | x | main.rs:497:20:497:20 | [SSA] x | +| main.rs:497:20:497:20 | x | main.rs:497:20:497:20 | x | +| main.rs:498:5:498:6 | [post] vs | main.rs:500:14:500:15 | vs | +| main.rs:498:5:498:6 | vs | main.rs:500:14:500:15 | vs | +| main.rs:498:25:498:25 | ... | main.rs:498:25:498:25 | x | +| main.rs:498:25:498:25 | [SSA] x | main.rs:498:34:498:34 | x | +| main.rs:498:25:498:25 | x | main.rs:498:25:498:25 | [SSA] x | +| main.rs:498:25:498:25 | x | main.rs:498:25:498:25 | x | +| main.rs:500:9:500:9 | [SSA] v | main.rs:501:14:501:14 | v | +| main.rs:500:9:500:9 | v | main.rs:500:9:500:9 | [SSA] v | +| main.rs:500:9:500:9 | v | main.rs:500:9:500:9 | v | +| main.rs:504:9:504:18 | mut vs_mut | main.rs:504:13:504:18 | vs_mut | +| main.rs:504:22:504:42 | [...] | main.rs:504:9:504:18 | mut vs_mut | +| main.rs:510:5:512:5 | for ... in ... { ... } | main.rs:478:16:513:1 | { ... } | +| main.rs:510:14:510:14 | [SSA] v | main.rs:511:14:511:14 | v | +| main.rs:510:14:510:14 | v | main.rs:510:14:510:14 | [SSA] v | +| main.rs:510:14:510:14 | v | main.rs:510:14:510:14 | v | +| main.rs:516:9:516:9 | [SSA] a | main.rs:521:10:521:10 | a | +| main.rs:516:9:516:9 | a | main.rs:516:9:516:9 | [SSA] a | +| main.rs:516:9:516:9 | a | main.rs:516:9:516:9 | a | +| main.rs:516:13:516:22 | source(...) | main.rs:516:9:516:9 | a | +| main.rs:517:9:517:9 | [SSA] b | main.rs:522:15:522:15 | b | +| main.rs:517:9:517:9 | b | main.rs:517:9:517:9 | [SSA] b | +| main.rs:517:9:517:9 | b | main.rs:517:9:517:9 | b | +| main.rs:517:13:517:22 | source(...) | main.rs:517:9:517:9 | b | +| main.rs:518:9:518:9 | [SSA] c | main.rs:519:18:519:18 | c | +| main.rs:518:9:518:9 | c | main.rs:518:9:518:9 | [SSA] c | +| main.rs:518:9:518:9 | c | main.rs:518:9:518:9 | c | +| main.rs:518:13:518:22 | source(...) | main.rs:518:9:518:9 | c | +| main.rs:519:9:519:13 | [SSA] c_ref | main.rs:523:14:523:18 | c_ref | +| main.rs:519:9:519:13 | c_ref | main.rs:519:9:519:13 | [SSA] c_ref | +| main.rs:519:9:519:13 | c_ref | main.rs:519:9:519:13 | c_ref | +| main.rs:519:17:519:18 | &c | main.rs:519:9:519:13 | c_ref | +| main.rs:523:14:523:18 | [post] c_ref | main.rs:524:11:524:15 | c_ref | +| main.rs:523:14:523:18 | c_ref | main.rs:524:11:524:15 | c_ref | +| main.rs:551:13:551:33 | result_questionmark(...) | main.rs:551:9:551:9 | _ | +| main.rs:563:36:563:41 | ...::new(...) | main.rs:563:36:563:41 | MacroExpr | models | 1 | Sink: lang:std; crate::io::stdio::_print; log-injection; Argument[0] | | 2 | Summary: lang:alloc; <&&str as crate::string::SpecToString>::spec_to_string; Argument[self].Reference.Reference; ReturnValue; value | @@ -2118,52 +2146,54 @@ storeStep | main.rs:261:19:261:28 | source(...) | Some | main.rs:261:14:261:29 | Some(...) | | main.rs:262:19:262:19 | 2 | Some | main.rs:262:14:262:20 | Some(...) | | main.rs:266:10:266:10 | 0 | Some | main.rs:266:5:266:11 | Some(...) | -| main.rs:270:35:270:44 | source(...) | Ok | main.rs:270:32:270:45 | Ok(...) | -| main.rs:271:35:271:35 | 2 | Ok | main.rs:271:32:271:36 | Ok(...) | -| main.rs:272:36:272:45 | source(...) | Err | main.rs:272:32:272:46 | Err(...) | -| main.rs:279:8:279:8 | 0 | Ok | main.rs:279:5:279:9 | Ok(...) | -| main.rs:283:35:283:44 | source(...) | Ok | main.rs:283:32:283:45 | Ok(...) | -| main.rs:287:36:287:45 | source(...) | Err | main.rs:287:32:287:46 | Err(...) | -| main.rs:298:29:298:38 | source(...) | A | main.rs:298:14:298:39 | ...::A(...) | -| main.rs:299:29:299:29 | 2 | B | main.rs:299:14:299:30 | ...::B(...) | -| main.rs:316:16:316:25 | source(...) | A | main.rs:316:14:316:26 | A(...) | -| main.rs:317:16:317:16 | 2 | B | main.rs:317:14:317:17 | B(...) | -| main.rs:338:18:338:27 | source(...) | C | main.rs:337:14:339:5 | ...::C {...} | -| main.rs:340:41:340:41 | 2 | D | main.rs:340:14:340:43 | ...::D {...} | -| main.rs:358:18:358:27 | source(...) | C | main.rs:357:14:359:5 | C {...} | -| main.rs:360:27:360:27 | 2 | D | main.rs:360:14:360:29 | D {...} | -| main.rs:378:17:378:17 | 1 | element | main.rs:378:16:378:33 | [...] | -| main.rs:378:20:378:20 | 2 | element | main.rs:378:16:378:33 | [...] | -| main.rs:378:23:378:32 | source(...) | element | main.rs:378:16:378:33 | [...] | -| main.rs:382:17:382:26 | source(...) | element | main.rs:382:16:382:31 | [...; 10] | -| main.rs:386:17:386:17 | 1 | element | main.rs:386:16:386:24 | [...] | -| main.rs:386:20:386:20 | 2 | element | main.rs:386:16:386:24 | [...] | -| main.rs:386:23:386:23 | 3 | element | main.rs:386:16:386:24 | [...] | +| main.rs:270:36:270:45 | source(...) | Ok | main.rs:270:33:270:46 | Ok(...) | +| main.rs:276:37:276:46 | source(...) | Err | main.rs:276:33:276:47 | Err(...) | +| main.rs:284:35:284:44 | source(...) | Ok | main.rs:284:32:284:45 | Ok(...) | +| main.rs:285:35:285:35 | 2 | Ok | main.rs:285:32:285:36 | Ok(...) | +| main.rs:286:36:286:45 | source(...) | Err | main.rs:286:32:286:46 | Err(...) | +| main.rs:293:8:293:8 | 0 | Ok | main.rs:293:5:293:9 | Ok(...) | +| main.rs:297:35:297:44 | source(...) | Ok | main.rs:297:32:297:45 | Ok(...) | +| main.rs:301:36:301:45 | source(...) | Err | main.rs:301:32:301:46 | Err(...) | +| main.rs:312:29:312:38 | source(...) | A | main.rs:312:14:312:39 | ...::A(...) | +| main.rs:313:29:313:29 | 2 | B | main.rs:313:14:313:30 | ...::B(...) | +| main.rs:330:16:330:25 | source(...) | A | main.rs:330:14:330:26 | A(...) | +| main.rs:331:16:331:16 | 2 | B | main.rs:331:14:331:17 | B(...) | +| main.rs:352:18:352:27 | source(...) | C | main.rs:351:14:353:5 | ...::C {...} | +| main.rs:354:41:354:41 | 2 | D | main.rs:354:14:354:43 | ...::D {...} | +| main.rs:372:18:372:27 | source(...) | C | main.rs:371:14:373:5 | C {...} | +| main.rs:374:27:374:27 | 2 | D | main.rs:374:14:374:29 | D {...} | | main.rs:392:17:392:17 | 1 | element | main.rs:392:16:392:33 | [...] | | main.rs:392:20:392:20 | 2 | element | main.rs:392:16:392:33 | [...] | | main.rs:392:23:392:32 | source(...) | element | main.rs:392:16:392:33 | [...] | -| main.rs:397:17:397:17 | 1 | element | main.rs:397:16:397:24 | [...] | -| main.rs:397:20:397:20 | 2 | element | main.rs:397:16:397:24 | [...] | -| main.rs:397:23:397:23 | 3 | element | main.rs:397:16:397:24 | [...] | -| main.rs:404:17:404:17 | 1 | element | main.rs:404:16:404:33 | [...] | -| main.rs:404:20:404:20 | 2 | element | main.rs:404:16:404:33 | [...] | -| main.rs:404:23:404:32 | source(...) | element | main.rs:404:16:404:33 | [...] | -| main.rs:415:24:415:24 | 1 | element | main.rs:415:23:415:31 | [...] | -| main.rs:415:27:415:27 | 2 | element | main.rs:415:23:415:31 | [...] | -| main.rs:415:30:415:30 | 3 | element | main.rs:415:23:415:31 | [...] | -| main.rs:418:18:418:27 | source(...) | element | main.rs:418:5:418:11 | [post] mut_arr | -| main.rs:430:41:430:67 | default_name | captured default_name | main.rs:430:41:430:67 | \|...\| ... | -| main.rs:465:15:465:24 | source(...) | element | main.rs:465:14:465:34 | [...] | -| main.rs:465:27:465:27 | 2 | element | main.rs:465:14:465:34 | [...] | -| main.rs:465:30:465:30 | 3 | element | main.rs:465:14:465:34 | [...] | -| main.rs:465:33:465:33 | 4 | element | main.rs:465:14:465:34 | [...] | -| main.rs:490:23:490:32 | source(...) | element | main.rs:490:22:490:42 | [...] | -| main.rs:490:35:490:35 | 2 | element | main.rs:490:22:490:42 | [...] | -| main.rs:490:38:490:38 | 3 | element | main.rs:490:22:490:42 | [...] | -| main.rs:490:41:490:41 | 4 | element | main.rs:490:22:490:42 | [...] | -| main.rs:505:18:505:18 | c | &ref | main.rs:505:17:505:18 | &c | -| main.rs:508:15:508:15 | b | &ref | main.rs:508:14:508:15 | &b | -| main.rs:517:27:517:27 | 0 | Some | main.rs:517:22:517:28 | Some(...) | +| main.rs:396:17:396:26 | source(...) | element | main.rs:396:16:396:31 | [...; 10] | +| main.rs:400:17:400:17 | 1 | element | main.rs:400:16:400:24 | [...] | +| main.rs:400:20:400:20 | 2 | element | main.rs:400:16:400:24 | [...] | +| main.rs:400:23:400:23 | 3 | element | main.rs:400:16:400:24 | [...] | +| main.rs:406:17:406:17 | 1 | element | main.rs:406:16:406:33 | [...] | +| main.rs:406:20:406:20 | 2 | element | main.rs:406:16:406:33 | [...] | +| main.rs:406:23:406:32 | source(...) | element | main.rs:406:16:406:33 | [...] | +| main.rs:411:17:411:17 | 1 | element | main.rs:411:16:411:24 | [...] | +| main.rs:411:20:411:20 | 2 | element | main.rs:411:16:411:24 | [...] | +| main.rs:411:23:411:23 | 3 | element | main.rs:411:16:411:24 | [...] | +| main.rs:418:17:418:17 | 1 | element | main.rs:418:16:418:33 | [...] | +| main.rs:418:20:418:20 | 2 | element | main.rs:418:16:418:33 | [...] | +| main.rs:418:23:418:32 | source(...) | element | main.rs:418:16:418:33 | [...] | +| main.rs:429:24:429:24 | 1 | element | main.rs:429:23:429:31 | [...] | +| main.rs:429:27:429:27 | 2 | element | main.rs:429:23:429:31 | [...] | +| main.rs:429:30:429:30 | 3 | element | main.rs:429:23:429:31 | [...] | +| main.rs:432:18:432:27 | source(...) | element | main.rs:432:5:432:11 | [post] mut_arr | +| main.rs:444:41:444:67 | default_name | captured default_name | main.rs:444:41:444:67 | \|...\| ... | +| main.rs:479:15:479:24 | source(...) | element | main.rs:479:14:479:34 | [...] | +| main.rs:479:27:479:27 | 2 | element | main.rs:479:14:479:34 | [...] | +| main.rs:479:30:479:30 | 3 | element | main.rs:479:14:479:34 | [...] | +| main.rs:479:33:479:33 | 4 | element | main.rs:479:14:479:34 | [...] | +| main.rs:504:23:504:32 | source(...) | element | main.rs:504:22:504:42 | [...] | +| main.rs:504:35:504:35 | 2 | element | main.rs:504:22:504:42 | [...] | +| main.rs:504:38:504:38 | 3 | element | main.rs:504:22:504:42 | [...] | +| main.rs:504:41:504:41 | 4 | element | main.rs:504:22:504:42 | [...] | +| main.rs:519:18:519:18 | c | &ref | main.rs:519:17:519:18 | &c | +| main.rs:522:15:522:15 | b | &ref | main.rs:522:14:522:15 | &b | +| main.rs:531:27:531:27 | 0 | Some | main.rs:531:22:531:28 | Some(...) | readStep | file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::allocator | tuple.1 | file://:0:0:0:0 | [summary] read: Argument[0].Field[1] in lang:alloc::_::::allocator | | file://:0:0:0:0 | [summary param] 0 in lang:alloc::_::::as_mut_ptr | &ref | file://:0:0:0:0 | [summary] read: Argument[0].Reference in lang:alloc::_::::as_mut_ptr | @@ -2730,67 +2760,67 @@ readStep | main.rs:263:14:263:15 | s1 | Some | main.rs:263:14:263:16 | TryExpr | | main.rs:265:10:265:11 | s2 | Ok | main.rs:265:10:265:12 | TryExpr | | main.rs:265:10:265:11 | s2 | Some | main.rs:265:10:265:12 | TryExpr | -| main.rs:273:14:273:15 | s1 | Ok | main.rs:273:14:273:16 | TryExpr | -| main.rs:273:14:273:15 | s1 | Some | main.rs:273:14:273:16 | TryExpr | -| main.rs:274:14:274:15 | s2 | Ok | main.rs:274:14:274:16 | TryExpr | -| main.rs:274:14:274:15 | s2 | Some | main.rs:274:14:274:16 | TryExpr | -| main.rs:277:14:277:15 | s3 | Ok | main.rs:277:14:277:16 | TryExpr | -| main.rs:277:14:277:15 | s3 | Some | main.rs:277:14:277:16 | TryExpr | -| main.rs:301:9:301:25 | ...::A(...) | A | main.rs:301:24:301:24 | n | -| main.rs:302:9:302:25 | ...::B(...) | B | main.rs:302:24:302:24 | n | -| main.rs:305:9:305:25 | ...::A(...) | A | main.rs:305:24:305:24 | n | -| main.rs:305:29:305:45 | ...::B(...) | B | main.rs:305:44:305:44 | n | -| main.rs:308:9:308:25 | ...::A(...) | A | main.rs:308:24:308:24 | n | -| main.rs:309:9:309:25 | ...::B(...) | B | main.rs:309:24:309:24 | n | -| main.rs:319:9:319:12 | A(...) | A | main.rs:319:11:319:11 | n | -| main.rs:320:9:320:12 | B(...) | B | main.rs:320:11:320:11 | n | -| main.rs:323:9:323:12 | A(...) | A | main.rs:323:11:323:11 | n | -| main.rs:323:16:323:19 | B(...) | B | main.rs:323:18:323:18 | n | -| main.rs:326:9:326:12 | A(...) | A | main.rs:326:11:326:11 | n | -| main.rs:327:9:327:12 | B(...) | B | main.rs:327:11:327:11 | n | -| main.rs:342:9:342:38 | ...::C {...} | C | main.rs:342:36:342:36 | n | -| main.rs:343:9:343:38 | ...::D {...} | D | main.rs:343:36:343:36 | n | -| main.rs:346:9:346:38 | ...::C {...} | C | main.rs:346:36:346:36 | n | -| main.rs:346:42:346:71 | ...::D {...} | D | main.rs:346:69:346:69 | n | -| main.rs:349:9:349:38 | ...::C {...} | C | main.rs:349:36:349:36 | n | -| main.rs:350:9:350:38 | ...::D {...} | D | main.rs:350:36:350:36 | n | -| main.rs:362:9:362:24 | C {...} | C | main.rs:362:22:362:22 | n | -| main.rs:363:9:363:24 | D {...} | D | main.rs:363:22:363:22 | n | -| main.rs:366:9:366:24 | C {...} | C | main.rs:366:22:366:22 | n | -| main.rs:366:28:366:43 | D {...} | D | main.rs:366:41:366:41 | n | -| main.rs:369:9:369:24 | C {...} | C | main.rs:369:22:369:22 | n | -| main.rs:370:9:370:24 | D {...} | D | main.rs:370:22:370:22 | n | -| main.rs:379:14:379:17 | arr1 | element | main.rs:379:14:379:20 | arr1[2] | -| main.rs:383:14:383:17 | arr2 | element | main.rs:383:14:383:20 | arr2[4] | -| main.rs:387:14:387:17 | arr3 | element | main.rs:387:14:387:20 | arr3[2] | -| main.rs:393:15:393:18 | arr1 | element | main.rs:393:9:393:10 | n1 | -| main.rs:398:15:398:18 | arr2 | element | main.rs:398:9:398:10 | n2 | -| main.rs:406:9:406:17 | SlicePat | element | main.rs:406:10:406:10 | a | -| main.rs:406:9:406:17 | SlicePat | element | main.rs:406:13:406:13 | b | -| main.rs:406:9:406:17 | SlicePat | element | main.rs:406:16:406:16 | c | -| main.rs:416:10:416:16 | mut_arr | element | main.rs:416:10:416:19 | mut_arr[1] | -| main.rs:418:5:418:11 | mut_arr | element | main.rs:418:5:418:14 | mut_arr[1] | -| main.rs:419:13:419:19 | mut_arr | element | main.rs:419:13:419:22 | mut_arr[1] | -| main.rs:421:10:421:16 | mut_arr | element | main.rs:421:10:421:19 | mut_arr[0] | -| main.rs:428:9:428:20 | TuplePat | tuple.0 | main.rs:428:10:428:13 | cond | -| main.rs:428:9:428:20 | TuplePat | tuple.1 | main.rs:428:16:428:19 | name | -| main.rs:428:25:428:29 | names | element | main.rs:428:9:428:20 | TuplePat | -| main.rs:430:41:430:67 | [post] \|...\| ... | captured default_name | main.rs:430:41:430:67 | [post] default_name | -| main.rs:430:44:430:55 | this | captured default_name | main.rs:430:44:430:55 | default_name | -| main.rs:467:10:467:11 | vs | element | main.rs:467:10:467:14 | vs[0] | -| main.rs:468:11:468:35 | ... .unwrap(...) | &ref | main.rs:468:10:468:35 | * ... | -| main.rs:469:11:469:35 | ... .unwrap(...) | &ref | main.rs:469:10:469:35 | * ... | -| main.rs:471:14:471:15 | vs | element | main.rs:471:9:471:9 | v | -| main.rs:474:9:474:10 | &... | &ref | main.rs:474:10:474:10 | v | -| main.rs:474:15:474:23 | vs.iter(...) | element | main.rs:474:9:474:10 | &... | -| main.rs:479:9:479:10 | &... | &ref | main.rs:479:10:479:10 | v | -| main.rs:479:15:479:17 | vs2 | element | main.rs:479:9:479:10 | &... | -| main.rs:483:29:483:29 | x | &ref | main.rs:483:28:483:29 | * ... | -| main.rs:484:34:484:34 | x | &ref | main.rs:484:33:484:34 | * ... | -| main.rs:486:14:486:27 | vs.into_iter(...) | element | main.rs:486:9:486:9 | v | -| main.rs:492:10:492:15 | vs_mut | element | main.rs:492:10:492:18 | vs_mut[0] | -| main.rs:493:11:493:39 | ... .unwrap(...) | &ref | main.rs:493:10:493:39 | * ... | -| main.rs:494:11:494:39 | ... .unwrap(...) | &ref | main.rs:494:10:494:39 | * ... | -| main.rs:496:9:496:14 | &mut ... | &ref | main.rs:496:14:496:14 | v | -| main.rs:496:19:496:35 | vs_mut.iter_mut(...) | element | main.rs:496:9:496:14 | &mut ... | -| main.rs:510:11:510:15 | c_ref | &ref | main.rs:510:10:510:15 | * ... | +| main.rs:287:14:287:15 | s1 | Ok | main.rs:287:14:287:16 | TryExpr | +| main.rs:287:14:287:15 | s1 | Some | main.rs:287:14:287:16 | TryExpr | +| main.rs:288:14:288:15 | s2 | Ok | main.rs:288:14:288:16 | TryExpr | +| main.rs:288:14:288:15 | s2 | Some | main.rs:288:14:288:16 | TryExpr | +| main.rs:291:14:291:15 | s3 | Ok | main.rs:291:14:291:16 | TryExpr | +| main.rs:291:14:291:15 | s3 | Some | main.rs:291:14:291:16 | TryExpr | +| main.rs:315:9:315:25 | ...::A(...) | A | main.rs:315:24:315:24 | n | +| main.rs:316:9:316:25 | ...::B(...) | B | main.rs:316:24:316:24 | n | +| main.rs:319:9:319:25 | ...::A(...) | A | main.rs:319:24:319:24 | n | +| main.rs:319:29:319:45 | ...::B(...) | B | main.rs:319:44:319:44 | n | +| main.rs:322:9:322:25 | ...::A(...) | A | main.rs:322:24:322:24 | n | +| main.rs:323:9:323:25 | ...::B(...) | B | main.rs:323:24:323:24 | n | +| main.rs:333:9:333:12 | A(...) | A | main.rs:333:11:333:11 | n | +| main.rs:334:9:334:12 | B(...) | B | main.rs:334:11:334:11 | n | +| main.rs:337:9:337:12 | A(...) | A | main.rs:337:11:337:11 | n | +| main.rs:337:16:337:19 | B(...) | B | main.rs:337:18:337:18 | n | +| main.rs:340:9:340:12 | A(...) | A | main.rs:340:11:340:11 | n | +| main.rs:341:9:341:12 | B(...) | B | main.rs:341:11:341:11 | n | +| main.rs:356:9:356:38 | ...::C {...} | C | main.rs:356:36:356:36 | n | +| main.rs:357:9:357:38 | ...::D {...} | D | main.rs:357:36:357:36 | n | +| main.rs:360:9:360:38 | ...::C {...} | C | main.rs:360:36:360:36 | n | +| main.rs:360:42:360:71 | ...::D {...} | D | main.rs:360:69:360:69 | n | +| main.rs:363:9:363:38 | ...::C {...} | C | main.rs:363:36:363:36 | n | +| main.rs:364:9:364:38 | ...::D {...} | D | main.rs:364:36:364:36 | n | +| main.rs:376:9:376:24 | C {...} | C | main.rs:376:22:376:22 | n | +| main.rs:377:9:377:24 | D {...} | D | main.rs:377:22:377:22 | n | +| main.rs:380:9:380:24 | C {...} | C | main.rs:380:22:380:22 | n | +| main.rs:380:28:380:43 | D {...} | D | main.rs:380:41:380:41 | n | +| main.rs:383:9:383:24 | C {...} | C | main.rs:383:22:383:22 | n | +| main.rs:384:9:384:24 | D {...} | D | main.rs:384:22:384:22 | n | +| main.rs:393:14:393:17 | arr1 | element | main.rs:393:14:393:20 | arr1[2] | +| main.rs:397:14:397:17 | arr2 | element | main.rs:397:14:397:20 | arr2[4] | +| main.rs:401:14:401:17 | arr3 | element | main.rs:401:14:401:20 | arr3[2] | +| main.rs:407:15:407:18 | arr1 | element | main.rs:407:9:407:10 | n1 | +| main.rs:412:15:412:18 | arr2 | element | main.rs:412:9:412:10 | n2 | +| main.rs:420:9:420:17 | SlicePat | element | main.rs:420:10:420:10 | a | +| main.rs:420:9:420:17 | SlicePat | element | main.rs:420:13:420:13 | b | +| main.rs:420:9:420:17 | SlicePat | element | main.rs:420:16:420:16 | c | +| main.rs:430:10:430:16 | mut_arr | element | main.rs:430:10:430:19 | mut_arr[1] | +| main.rs:432:5:432:11 | mut_arr | element | main.rs:432:5:432:14 | mut_arr[1] | +| main.rs:433:13:433:19 | mut_arr | element | main.rs:433:13:433:22 | mut_arr[1] | +| main.rs:435:10:435:16 | mut_arr | element | main.rs:435:10:435:19 | mut_arr[0] | +| main.rs:442:9:442:20 | TuplePat | tuple.0 | main.rs:442:10:442:13 | cond | +| main.rs:442:9:442:20 | TuplePat | tuple.1 | main.rs:442:16:442:19 | name | +| main.rs:442:25:442:29 | names | element | main.rs:442:9:442:20 | TuplePat | +| main.rs:444:41:444:67 | [post] \|...\| ... | captured default_name | main.rs:444:41:444:67 | [post] default_name | +| main.rs:444:44:444:55 | this | captured default_name | main.rs:444:44:444:55 | default_name | +| main.rs:481:10:481:11 | vs | element | main.rs:481:10:481:14 | vs[0] | +| main.rs:482:11:482:35 | ... .unwrap(...) | &ref | main.rs:482:10:482:35 | * ... | +| main.rs:483:11:483:35 | ... .unwrap(...) | &ref | main.rs:483:10:483:35 | * ... | +| main.rs:485:14:485:15 | vs | element | main.rs:485:9:485:9 | v | +| main.rs:488:9:488:10 | &... | &ref | main.rs:488:10:488:10 | v | +| main.rs:488:15:488:23 | vs.iter(...) | element | main.rs:488:9:488:10 | &... | +| main.rs:493:9:493:10 | &... | &ref | main.rs:493:10:493:10 | v | +| main.rs:493:15:493:17 | vs2 | element | main.rs:493:9:493:10 | &... | +| main.rs:497:29:497:29 | x | &ref | main.rs:497:28:497:29 | * ... | +| main.rs:498:34:498:34 | x | &ref | main.rs:498:33:498:34 | * ... | +| main.rs:500:14:500:27 | vs.into_iter(...) | element | main.rs:500:9:500:9 | v | +| main.rs:506:10:506:15 | vs_mut | element | main.rs:506:10:506:18 | vs_mut[0] | +| main.rs:507:11:507:39 | ... .unwrap(...) | &ref | main.rs:507:10:507:39 | * ... | +| main.rs:508:11:508:39 | ... .unwrap(...) | &ref | main.rs:508:10:508:39 | * ... | +| main.rs:510:9:510:14 | &mut ... | &ref | main.rs:510:14:510:14 | v | +| main.rs:510:19:510:35 | vs_mut.iter_mut(...) | element | main.rs:510:9:510:14 | &mut ... | +| main.rs:524:11:524:15 | c_ref | &ref | main.rs:524:10:524:15 | * ... | diff --git a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected index 0c9dad76710b..f0febc3b71d6 100644 --- a/rust/ql/test/library-tests/dataflow/local/inline-flow.expected +++ b/rust/ql/test/library-tests/dataflow/local/inline-flow.expected @@ -4,8 +4,10 @@ models | 3 | Summary: lang:core; ::unwrap_or; Argument[self].Field[crate::option::Option::Some(0)]; ReturnValue; value | | 4 | Summary: lang:core; ::unwrap_or_else; Argument[0].ReturnValue; ReturnValue; value | | 5 | Summary: lang:core; ::unwrap_or_else; Argument[self].Field[crate::option::Option::Some(0)]; ReturnValue; value | -| 6 | Summary: lang:core; ::expect; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue; value | -| 7 | Summary: lang:core; ::expect_err; Argument[self].Field[crate::result::Result::Err(0)]; ReturnValue; value | +| 6 | Summary: lang:core; ::err; Argument[self].Field[crate::result::Result::Err(0)]; ReturnValue.Field[crate::option::Option::Some(0)]; value | +| 7 | Summary: lang:core; ::expect; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue; value | +| 8 | Summary: lang:core; ::expect_err; Argument[self].Field[crate::result::Result::Err(0)]; ReturnValue; value | +| 9 | Summary: lang:core; ::ok; Argument[self].Field[crate::result::Result::Ok(0)]; ReturnValue.Field[crate::option::Option::Some(0)]; value | edges | main.rs:22:9:22:9 | s | main.rs:23:10:23:10 | s | provenance | | | main.rs:22:13:22:21 | source(...) | main.rs:22:9:22:9 | s | provenance | | @@ -97,113 +99,127 @@ edges | main.rs:263:9:263:10 | i1 | main.rs:264:10:264:11 | i1 | provenance | | | main.rs:263:14:263:15 | s1 [Some] | main.rs:263:14:263:16 | TryExpr | provenance | | | main.rs:263:14:263:16 | TryExpr | main.rs:263:9:263:10 | i1 | provenance | | -| main.rs:270:9:270:10 | s1 [Ok] | main.rs:273:14:273:15 | s1 [Ok] | provenance | | -| main.rs:270:32:270:45 | Ok(...) [Ok] | main.rs:270:9:270:10 | s1 [Ok] | provenance | | -| main.rs:270:35:270:44 | source(...) | main.rs:270:32:270:45 | Ok(...) [Ok] | provenance | | -| main.rs:273:9:273:10 | i1 | main.rs:275:10:275:11 | i1 | provenance | | -| main.rs:273:14:273:15 | s1 [Ok] | main.rs:273:14:273:16 | TryExpr | provenance | | -| main.rs:273:14:273:16 | TryExpr | main.rs:273:9:273:10 | i1 | provenance | | -| main.rs:283:9:283:10 | s1 [Ok] | main.rs:284:10:284:11 | s1 [Ok] | provenance | | -| main.rs:283:32:283:45 | Ok(...) [Ok] | main.rs:283:9:283:10 | s1 [Ok] | provenance | | -| main.rs:283:35:283:44 | source(...) | main.rs:283:32:283:45 | Ok(...) [Ok] | provenance | | -| main.rs:284:10:284:11 | s1 [Ok] | main.rs:284:10:284:22 | s1.expect(...) | provenance | MaD:6 | -| main.rs:287:9:287:10 | s2 [Err] | main.rs:289:10:289:11 | s2 [Err] | provenance | | -| main.rs:287:32:287:46 | Err(...) [Err] | main.rs:287:9:287:10 | s2 [Err] | provenance | | -| main.rs:287:36:287:45 | source(...) | main.rs:287:32:287:46 | Err(...) [Err] | provenance | | -| main.rs:289:10:289:11 | s2 [Err] | main.rs:289:10:289:26 | s2.expect_err(...) | provenance | MaD:7 | -| main.rs:298:9:298:10 | s1 [A] | main.rs:300:11:300:12 | s1 [A] | provenance | | -| main.rs:298:14:298:39 | ...::A(...) [A] | main.rs:298:9:298:10 | s1 [A] | provenance | | -| main.rs:298:29:298:38 | source(...) | main.rs:298:14:298:39 | ...::A(...) [A] | provenance | | -| main.rs:300:11:300:12 | s1 [A] | main.rs:301:9:301:25 | ...::A(...) [A] | provenance | | -| main.rs:300:11:300:12 | s1 [A] | main.rs:304:11:304:12 | s1 [A] | provenance | | -| main.rs:301:9:301:25 | ...::A(...) [A] | main.rs:301:24:301:24 | n | provenance | | -| main.rs:301:24:301:24 | n | main.rs:301:35:301:35 | n | provenance | | -| main.rs:304:11:304:12 | s1 [A] | main.rs:305:9:305:25 | ...::A(...) [A] | provenance | | -| main.rs:305:9:305:25 | ...::A(...) [A] | main.rs:305:24:305:24 | n | provenance | | -| main.rs:305:24:305:24 | n | main.rs:305:55:305:55 | n | provenance | | -| main.rs:316:9:316:10 | s1 [A] | main.rs:318:11:318:12 | s1 [A] | provenance | | -| main.rs:316:14:316:26 | A(...) [A] | main.rs:316:9:316:10 | s1 [A] | provenance | | -| main.rs:316:16:316:25 | source(...) | main.rs:316:14:316:26 | A(...) [A] | provenance | | -| main.rs:318:11:318:12 | s1 [A] | main.rs:319:9:319:12 | A(...) [A] | provenance | | -| main.rs:318:11:318:12 | s1 [A] | main.rs:322:11:322:12 | s1 [A] | provenance | | -| main.rs:319:9:319:12 | A(...) [A] | main.rs:319:11:319:11 | n | provenance | | -| main.rs:319:11:319:11 | n | main.rs:319:22:319:22 | n | provenance | | -| main.rs:322:11:322:12 | s1 [A] | main.rs:323:9:323:12 | A(...) [A] | provenance | | -| main.rs:323:9:323:12 | A(...) [A] | main.rs:323:11:323:11 | n | provenance | | -| main.rs:323:11:323:11 | n | main.rs:323:29:323:29 | n | provenance | | -| main.rs:337:9:337:10 | s1 [C] | main.rs:341:11:341:12 | s1 [C] | provenance | | -| main.rs:337:14:339:5 | ...::C {...} [C] | main.rs:337:9:337:10 | s1 [C] | provenance | | -| main.rs:338:18:338:27 | source(...) | main.rs:337:14:339:5 | ...::C {...} [C] | provenance | | -| main.rs:341:11:341:12 | s1 [C] | main.rs:342:9:342:38 | ...::C {...} [C] | provenance | | -| main.rs:341:11:341:12 | s1 [C] | main.rs:345:11:345:12 | s1 [C] | provenance | | -| main.rs:342:9:342:38 | ...::C {...} [C] | main.rs:342:36:342:36 | n | provenance | | -| main.rs:342:36:342:36 | n | main.rs:342:48:342:48 | n | provenance | | -| main.rs:345:11:345:12 | s1 [C] | main.rs:346:9:346:38 | ...::C {...} [C] | provenance | | -| main.rs:346:9:346:38 | ...::C {...} [C] | main.rs:346:36:346:36 | n | provenance | | -| main.rs:346:36:346:36 | n | main.rs:346:81:346:81 | n | provenance | | -| main.rs:357:9:357:10 | s1 [C] | main.rs:361:11:361:12 | s1 [C] | provenance | | -| main.rs:357:14:359:5 | C {...} [C] | main.rs:357:9:357:10 | s1 [C] | provenance | | -| main.rs:358:18:358:27 | source(...) | main.rs:357:14:359:5 | C {...} [C] | provenance | | -| main.rs:361:11:361:12 | s1 [C] | main.rs:362:9:362:24 | C {...} [C] | provenance | | -| main.rs:361:11:361:12 | s1 [C] | main.rs:365:11:365:12 | s1 [C] | provenance | | -| main.rs:362:9:362:24 | C {...} [C] | main.rs:362:22:362:22 | n | provenance | | -| main.rs:362:22:362:22 | n | main.rs:362:34:362:34 | n | provenance | | -| main.rs:365:11:365:12 | s1 [C] | main.rs:366:9:366:24 | C {...} [C] | provenance | | -| main.rs:366:9:366:24 | C {...} [C] | main.rs:366:22:366:22 | n | provenance | | -| main.rs:366:22:366:22 | n | main.rs:366:53:366:53 | n | provenance | | -| main.rs:378:9:378:12 | arr1 [element] | main.rs:379:14:379:17 | arr1 [element] | provenance | | -| main.rs:378:16:378:33 | [...] [element] | main.rs:378:9:378:12 | arr1 [element] | provenance | | -| main.rs:378:23:378:32 | source(...) | main.rs:378:16:378:33 | [...] [element] | provenance | | -| main.rs:379:9:379:10 | n1 | main.rs:380:10:380:11 | n1 | provenance | | -| main.rs:379:14:379:17 | arr1 [element] | main.rs:379:14:379:20 | arr1[2] | provenance | | -| main.rs:379:14:379:20 | arr1[2] | main.rs:379:9:379:10 | n1 | provenance | | -| main.rs:382:9:382:12 | arr2 [element] | main.rs:383:14:383:17 | arr2 [element] | provenance | | -| main.rs:382:16:382:31 | [...; 10] [element] | main.rs:382:9:382:12 | arr2 [element] | provenance | | -| main.rs:382:17:382:26 | source(...) | main.rs:382:16:382:31 | [...; 10] [element] | provenance | | -| main.rs:383:9:383:10 | n2 | main.rs:384:10:384:11 | n2 | provenance | | -| main.rs:383:14:383:17 | arr2 [element] | main.rs:383:14:383:20 | arr2[4] | provenance | | -| main.rs:383:14:383:20 | arr2[4] | main.rs:383:9:383:10 | n2 | provenance | | -| main.rs:392:9:392:12 | arr1 [element] | main.rs:393:15:393:18 | arr1 [element] | provenance | | +| main.rs:270:9:270:10 | r1 [Ok] | main.rs:271:29:271:30 | r1 [Ok] | provenance | | +| main.rs:270:33:270:46 | Ok(...) [Ok] | main.rs:270:9:270:10 | r1 [Ok] | provenance | | +| main.rs:270:36:270:45 | source(...) | main.rs:270:33:270:46 | Ok(...) [Ok] | provenance | | +| main.rs:271:9:271:11 | o1a [Some] | main.rs:273:10:273:12 | o1a [Some] | provenance | | +| main.rs:271:29:271:30 | r1 [Ok] | main.rs:271:29:271:35 | r1.ok(...) [Some] | provenance | MaD:9 | +| main.rs:271:29:271:35 | r1.ok(...) [Some] | main.rs:271:9:271:11 | o1a [Some] | provenance | | +| main.rs:273:10:273:12 | o1a [Some] | main.rs:273:10:273:21 | o1a.unwrap(...) | provenance | MaD:1 | +| main.rs:276:9:276:10 | r2 [Err] | main.rs:278:29:278:30 | r2 [Err] | provenance | | +| main.rs:276:33:276:47 | Err(...) [Err] | main.rs:276:9:276:10 | r2 [Err] | provenance | | +| main.rs:276:37:276:46 | source(...) | main.rs:276:33:276:47 | Err(...) [Err] | provenance | | +| main.rs:278:9:278:11 | o2b [Some] | main.rs:280:10:280:12 | o2b [Some] | provenance | | +| main.rs:278:29:278:30 | r2 [Err] | main.rs:278:29:278:36 | r2.err(...) [Some] | provenance | MaD:6 | +| main.rs:278:29:278:36 | r2.err(...) [Some] | main.rs:278:9:278:11 | o2b [Some] | provenance | | +| main.rs:280:10:280:12 | o2b [Some] | main.rs:280:10:280:21 | o2b.unwrap(...) | provenance | MaD:1 | +| main.rs:284:9:284:10 | s1 [Ok] | main.rs:287:14:287:15 | s1 [Ok] | provenance | | +| main.rs:284:32:284:45 | Ok(...) [Ok] | main.rs:284:9:284:10 | s1 [Ok] | provenance | | +| main.rs:284:35:284:44 | source(...) | main.rs:284:32:284:45 | Ok(...) [Ok] | provenance | | +| main.rs:287:9:287:10 | i1 | main.rs:289:10:289:11 | i1 | provenance | | +| main.rs:287:14:287:15 | s1 [Ok] | main.rs:287:14:287:16 | TryExpr | provenance | | +| main.rs:287:14:287:16 | TryExpr | main.rs:287:9:287:10 | i1 | provenance | | +| main.rs:297:9:297:10 | s1 [Ok] | main.rs:298:10:298:11 | s1 [Ok] | provenance | | +| main.rs:297:32:297:45 | Ok(...) [Ok] | main.rs:297:9:297:10 | s1 [Ok] | provenance | | +| main.rs:297:35:297:44 | source(...) | main.rs:297:32:297:45 | Ok(...) [Ok] | provenance | | +| main.rs:298:10:298:11 | s1 [Ok] | main.rs:298:10:298:22 | s1.expect(...) | provenance | MaD:7 | +| main.rs:301:9:301:10 | s2 [Err] | main.rs:303:10:303:11 | s2 [Err] | provenance | | +| main.rs:301:32:301:46 | Err(...) [Err] | main.rs:301:9:301:10 | s2 [Err] | provenance | | +| main.rs:301:36:301:45 | source(...) | main.rs:301:32:301:46 | Err(...) [Err] | provenance | | +| main.rs:303:10:303:11 | s2 [Err] | main.rs:303:10:303:26 | s2.expect_err(...) | provenance | MaD:8 | +| main.rs:312:9:312:10 | s1 [A] | main.rs:314:11:314:12 | s1 [A] | provenance | | +| main.rs:312:14:312:39 | ...::A(...) [A] | main.rs:312:9:312:10 | s1 [A] | provenance | | +| main.rs:312:29:312:38 | source(...) | main.rs:312:14:312:39 | ...::A(...) [A] | provenance | | +| main.rs:314:11:314:12 | s1 [A] | main.rs:315:9:315:25 | ...::A(...) [A] | provenance | | +| main.rs:314:11:314:12 | s1 [A] | main.rs:318:11:318:12 | s1 [A] | provenance | | +| main.rs:315:9:315:25 | ...::A(...) [A] | main.rs:315:24:315:24 | n | provenance | | +| main.rs:315:24:315:24 | n | main.rs:315:35:315:35 | n | provenance | | +| main.rs:318:11:318:12 | s1 [A] | main.rs:319:9:319:25 | ...::A(...) [A] | provenance | | +| main.rs:319:9:319:25 | ...::A(...) [A] | main.rs:319:24:319:24 | n | provenance | | +| main.rs:319:24:319:24 | n | main.rs:319:55:319:55 | n | provenance | | +| main.rs:330:9:330:10 | s1 [A] | main.rs:332:11:332:12 | s1 [A] | provenance | | +| main.rs:330:14:330:26 | A(...) [A] | main.rs:330:9:330:10 | s1 [A] | provenance | | +| main.rs:330:16:330:25 | source(...) | main.rs:330:14:330:26 | A(...) [A] | provenance | | +| main.rs:332:11:332:12 | s1 [A] | main.rs:333:9:333:12 | A(...) [A] | provenance | | +| main.rs:332:11:332:12 | s1 [A] | main.rs:336:11:336:12 | s1 [A] | provenance | | +| main.rs:333:9:333:12 | A(...) [A] | main.rs:333:11:333:11 | n | provenance | | +| main.rs:333:11:333:11 | n | main.rs:333:22:333:22 | n | provenance | | +| main.rs:336:11:336:12 | s1 [A] | main.rs:337:9:337:12 | A(...) [A] | provenance | | +| main.rs:337:9:337:12 | A(...) [A] | main.rs:337:11:337:11 | n | provenance | | +| main.rs:337:11:337:11 | n | main.rs:337:29:337:29 | n | provenance | | +| main.rs:351:9:351:10 | s1 [C] | main.rs:355:11:355:12 | s1 [C] | provenance | | +| main.rs:351:14:353:5 | ...::C {...} [C] | main.rs:351:9:351:10 | s1 [C] | provenance | | +| main.rs:352:18:352:27 | source(...) | main.rs:351:14:353:5 | ...::C {...} [C] | provenance | | +| main.rs:355:11:355:12 | s1 [C] | main.rs:356:9:356:38 | ...::C {...} [C] | provenance | | +| main.rs:355:11:355:12 | s1 [C] | main.rs:359:11:359:12 | s1 [C] | provenance | | +| main.rs:356:9:356:38 | ...::C {...} [C] | main.rs:356:36:356:36 | n | provenance | | +| main.rs:356:36:356:36 | n | main.rs:356:48:356:48 | n | provenance | | +| main.rs:359:11:359:12 | s1 [C] | main.rs:360:9:360:38 | ...::C {...} [C] | provenance | | +| main.rs:360:9:360:38 | ...::C {...} [C] | main.rs:360:36:360:36 | n | provenance | | +| main.rs:360:36:360:36 | n | main.rs:360:81:360:81 | n | provenance | | +| main.rs:371:9:371:10 | s1 [C] | main.rs:375:11:375:12 | s1 [C] | provenance | | +| main.rs:371:14:373:5 | C {...} [C] | main.rs:371:9:371:10 | s1 [C] | provenance | | +| main.rs:372:18:372:27 | source(...) | main.rs:371:14:373:5 | C {...} [C] | provenance | | +| main.rs:375:11:375:12 | s1 [C] | main.rs:376:9:376:24 | C {...} [C] | provenance | | +| main.rs:375:11:375:12 | s1 [C] | main.rs:379:11:379:12 | s1 [C] | provenance | | +| main.rs:376:9:376:24 | C {...} [C] | main.rs:376:22:376:22 | n | provenance | | +| main.rs:376:22:376:22 | n | main.rs:376:34:376:34 | n | provenance | | +| main.rs:379:11:379:12 | s1 [C] | main.rs:380:9:380:24 | C {...} [C] | provenance | | +| main.rs:380:9:380:24 | C {...} [C] | main.rs:380:22:380:22 | n | provenance | | +| main.rs:380:22:380:22 | n | main.rs:380:53:380:53 | n | provenance | | +| main.rs:392:9:392:12 | arr1 [element] | main.rs:393:14:393:17 | arr1 [element] | provenance | | | main.rs:392:16:392:33 | [...] [element] | main.rs:392:9:392:12 | arr1 [element] | provenance | | | main.rs:392:23:392:32 | source(...) | main.rs:392:16:392:33 | [...] [element] | provenance | | -| main.rs:393:9:393:10 | n1 | main.rs:394:14:394:15 | n1 | provenance | | -| main.rs:393:15:393:18 | arr1 [element] | main.rs:393:9:393:10 | n1 | provenance | | -| main.rs:404:9:404:12 | arr1 [element] | main.rs:405:11:405:14 | arr1 [element] | provenance | | -| main.rs:404:16:404:33 | [...] [element] | main.rs:404:9:404:12 | arr1 [element] | provenance | | -| main.rs:404:23:404:32 | source(...) | main.rs:404:16:404:33 | [...] [element] | provenance | | -| main.rs:405:11:405:14 | arr1 [element] | main.rs:406:9:406:17 | SlicePat [element] | provenance | | -| main.rs:406:9:406:17 | SlicePat [element] | main.rs:406:10:406:10 | a | provenance | | -| main.rs:406:9:406:17 | SlicePat [element] | main.rs:406:13:406:13 | b | provenance | | -| main.rs:406:9:406:17 | SlicePat [element] | main.rs:406:16:406:16 | c | provenance | | -| main.rs:406:10:406:10 | a | main.rs:407:18:407:18 | a | provenance | | -| main.rs:406:13:406:13 | b | main.rs:408:18:408:18 | b | provenance | | -| main.rs:406:16:406:16 | c | main.rs:409:18:409:18 | c | provenance | | -| main.rs:418:5:418:11 | [post] mut_arr [element] | main.rs:419:13:419:19 | mut_arr [element] | provenance | | -| main.rs:418:5:418:11 | [post] mut_arr [element] | main.rs:421:10:421:16 | mut_arr [element] | provenance | | -| main.rs:418:18:418:27 | source(...) | main.rs:418:5:418:11 | [post] mut_arr [element] | provenance | | -| main.rs:419:9:419:9 | d | main.rs:420:10:420:10 | d | provenance | | -| main.rs:419:13:419:19 | mut_arr [element] | main.rs:419:13:419:22 | mut_arr[1] | provenance | | -| main.rs:419:13:419:22 | mut_arr[1] | main.rs:419:9:419:9 | d | provenance | | -| main.rs:421:10:421:16 | mut_arr [element] | main.rs:421:10:421:19 | mut_arr[0] | provenance | | -| main.rs:444:9:444:9 | s | main.rs:445:10:445:10 | s | provenance | | -| main.rs:444:25:444:26 | source(...) | main.rs:444:9:444:9 | s | provenance | | -| main.rs:453:9:453:9 | a | main.rs:458:10:458:10 | a | provenance | | -| main.rs:453:13:453:22 | source(...) | main.rs:453:9:453:9 | a | provenance | | -| main.rs:465:9:465:10 | vs [element] | main.rs:467:10:467:11 | vs [element] | provenance | | -| main.rs:465:9:465:10 | vs [element] | main.rs:471:14:471:15 | vs [element] | provenance | | -| main.rs:465:14:465:34 | [...] [element] | main.rs:465:9:465:10 | vs [element] | provenance | | -| main.rs:465:15:465:24 | source(...) | main.rs:465:14:465:34 | [...] [element] | provenance | | -| main.rs:467:10:467:11 | vs [element] | main.rs:467:10:467:14 | vs[0] | provenance | | -| main.rs:471:9:471:9 | v | main.rs:472:14:472:14 | v | provenance | | -| main.rs:471:14:471:15 | vs [element] | main.rs:471:9:471:9 | v | provenance | | -| main.rs:502:9:502:9 | a | main.rs:507:10:507:10 | a | provenance | | -| main.rs:502:13:502:22 | source(...) | main.rs:502:9:502:9 | a | provenance | | -| main.rs:504:9:504:9 | c | main.rs:505:18:505:18 | c | provenance | | -| main.rs:504:13:504:22 | source(...) | main.rs:504:9:504:9 | c | provenance | | -| main.rs:505:9:505:13 | c_ref [&ref] | main.rs:510:11:510:15 | c_ref [&ref] | provenance | | -| main.rs:505:17:505:18 | &c [&ref] | main.rs:505:9:505:13 | c_ref [&ref] | provenance | | -| main.rs:505:18:505:18 | c | main.rs:505:17:505:18 | &c [&ref] | provenance | | -| main.rs:510:11:510:15 | c_ref [&ref] | main.rs:510:10:510:15 | * ... | provenance | | +| main.rs:393:9:393:10 | n1 | main.rs:394:10:394:11 | n1 | provenance | | +| main.rs:393:14:393:17 | arr1 [element] | main.rs:393:14:393:20 | arr1[2] | provenance | | +| main.rs:393:14:393:20 | arr1[2] | main.rs:393:9:393:10 | n1 | provenance | | +| main.rs:396:9:396:12 | arr2 [element] | main.rs:397:14:397:17 | arr2 [element] | provenance | | +| main.rs:396:16:396:31 | [...; 10] [element] | main.rs:396:9:396:12 | arr2 [element] | provenance | | +| main.rs:396:17:396:26 | source(...) | main.rs:396:16:396:31 | [...; 10] [element] | provenance | | +| main.rs:397:9:397:10 | n2 | main.rs:398:10:398:11 | n2 | provenance | | +| main.rs:397:14:397:17 | arr2 [element] | main.rs:397:14:397:20 | arr2[4] | provenance | | +| main.rs:397:14:397:20 | arr2[4] | main.rs:397:9:397:10 | n2 | provenance | | +| main.rs:406:9:406:12 | arr1 [element] | main.rs:407:15:407:18 | arr1 [element] | provenance | | +| main.rs:406:16:406:33 | [...] [element] | main.rs:406:9:406:12 | arr1 [element] | provenance | | +| main.rs:406:23:406:32 | source(...) | main.rs:406:16:406:33 | [...] [element] | provenance | | +| main.rs:407:9:407:10 | n1 | main.rs:408:14:408:15 | n1 | provenance | | +| main.rs:407:15:407:18 | arr1 [element] | main.rs:407:9:407:10 | n1 | provenance | | +| main.rs:418:9:418:12 | arr1 [element] | main.rs:419:11:419:14 | arr1 [element] | provenance | | +| main.rs:418:16:418:33 | [...] [element] | main.rs:418:9:418:12 | arr1 [element] | provenance | | +| main.rs:418:23:418:32 | source(...) | main.rs:418:16:418:33 | [...] [element] | provenance | | +| main.rs:419:11:419:14 | arr1 [element] | main.rs:420:9:420:17 | SlicePat [element] | provenance | | +| main.rs:420:9:420:17 | SlicePat [element] | main.rs:420:10:420:10 | a | provenance | | +| main.rs:420:9:420:17 | SlicePat [element] | main.rs:420:13:420:13 | b | provenance | | +| main.rs:420:9:420:17 | SlicePat [element] | main.rs:420:16:420:16 | c | provenance | | +| main.rs:420:10:420:10 | a | main.rs:421:18:421:18 | a | provenance | | +| main.rs:420:13:420:13 | b | main.rs:422:18:422:18 | b | provenance | | +| main.rs:420:16:420:16 | c | main.rs:423:18:423:18 | c | provenance | | +| main.rs:432:5:432:11 | [post] mut_arr [element] | main.rs:433:13:433:19 | mut_arr [element] | provenance | | +| main.rs:432:5:432:11 | [post] mut_arr [element] | main.rs:435:10:435:16 | mut_arr [element] | provenance | | +| main.rs:432:18:432:27 | source(...) | main.rs:432:5:432:11 | [post] mut_arr [element] | provenance | | +| main.rs:433:9:433:9 | d | main.rs:434:10:434:10 | d | provenance | | +| main.rs:433:13:433:19 | mut_arr [element] | main.rs:433:13:433:22 | mut_arr[1] | provenance | | +| main.rs:433:13:433:22 | mut_arr[1] | main.rs:433:9:433:9 | d | provenance | | +| main.rs:435:10:435:16 | mut_arr [element] | main.rs:435:10:435:19 | mut_arr[0] | provenance | | +| main.rs:458:9:458:9 | s | main.rs:459:10:459:10 | s | provenance | | +| main.rs:458:25:458:26 | source(...) | main.rs:458:9:458:9 | s | provenance | | +| main.rs:467:9:467:9 | a | main.rs:472:10:472:10 | a | provenance | | +| main.rs:467:13:467:22 | source(...) | main.rs:467:9:467:9 | a | provenance | | +| main.rs:479:9:479:10 | vs [element] | main.rs:481:10:481:11 | vs [element] | provenance | | +| main.rs:479:9:479:10 | vs [element] | main.rs:485:14:485:15 | vs [element] | provenance | | +| main.rs:479:14:479:34 | [...] [element] | main.rs:479:9:479:10 | vs [element] | provenance | | +| main.rs:479:15:479:24 | source(...) | main.rs:479:14:479:34 | [...] [element] | provenance | | +| main.rs:481:10:481:11 | vs [element] | main.rs:481:10:481:14 | vs[0] | provenance | | +| main.rs:485:9:485:9 | v | main.rs:486:14:486:14 | v | provenance | | +| main.rs:485:14:485:15 | vs [element] | main.rs:485:9:485:9 | v | provenance | | +| main.rs:516:9:516:9 | a | main.rs:521:10:521:10 | a | provenance | | +| main.rs:516:13:516:22 | source(...) | main.rs:516:9:516:9 | a | provenance | | +| main.rs:518:9:518:9 | c | main.rs:519:18:519:18 | c | provenance | | +| main.rs:518:13:518:22 | source(...) | main.rs:518:9:518:9 | c | provenance | | +| main.rs:519:9:519:13 | c_ref [&ref] | main.rs:524:11:524:15 | c_ref [&ref] | provenance | | +| main.rs:519:17:519:18 | &c [&ref] | main.rs:519:9:519:13 | c_ref [&ref] | provenance | | +| main.rs:519:18:519:18 | c | main.rs:519:17:519:18 | &c [&ref] | provenance | | +| main.rs:524:11:524:15 | c_ref [&ref] | main.rs:524:10:524:15 | * ... | provenance | | nodes | main.rs:18:10:18:18 | source(...) | semmle.label | source(...) | | main.rs:22:9:22:9 | s | semmle.label | s | @@ -317,130 +333,146 @@ nodes | main.rs:263:14:263:15 | s1 [Some] | semmle.label | s1 [Some] | | main.rs:263:14:263:16 | TryExpr | semmle.label | TryExpr | | main.rs:264:10:264:11 | i1 | semmle.label | i1 | -| main.rs:270:9:270:10 | s1 [Ok] | semmle.label | s1 [Ok] | -| main.rs:270:32:270:45 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] | -| main.rs:270:35:270:44 | source(...) | semmle.label | source(...) | -| main.rs:273:9:273:10 | i1 | semmle.label | i1 | -| main.rs:273:14:273:15 | s1 [Ok] | semmle.label | s1 [Ok] | -| main.rs:273:14:273:16 | TryExpr | semmle.label | TryExpr | -| main.rs:275:10:275:11 | i1 | semmle.label | i1 | -| main.rs:283:9:283:10 | s1 [Ok] | semmle.label | s1 [Ok] | -| main.rs:283:32:283:45 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] | -| main.rs:283:35:283:44 | source(...) | semmle.label | source(...) | -| main.rs:284:10:284:11 | s1 [Ok] | semmle.label | s1 [Ok] | -| main.rs:284:10:284:22 | s1.expect(...) | semmle.label | s1.expect(...) | -| main.rs:287:9:287:10 | s2 [Err] | semmle.label | s2 [Err] | -| main.rs:287:32:287:46 | Err(...) [Err] | semmle.label | Err(...) [Err] | -| main.rs:287:36:287:45 | source(...) | semmle.label | source(...) | -| main.rs:289:10:289:11 | s2 [Err] | semmle.label | s2 [Err] | -| main.rs:289:10:289:26 | s2.expect_err(...) | semmle.label | s2.expect_err(...) | -| main.rs:298:9:298:10 | s1 [A] | semmle.label | s1 [A] | -| main.rs:298:14:298:39 | ...::A(...) [A] | semmle.label | ...::A(...) [A] | -| main.rs:298:29:298:38 | source(...) | semmle.label | source(...) | -| main.rs:300:11:300:12 | s1 [A] | semmle.label | s1 [A] | -| main.rs:301:9:301:25 | ...::A(...) [A] | semmle.label | ...::A(...) [A] | -| main.rs:301:24:301:24 | n | semmle.label | n | -| main.rs:301:35:301:35 | n | semmle.label | n | -| main.rs:304:11:304:12 | s1 [A] | semmle.label | s1 [A] | -| main.rs:305:9:305:25 | ...::A(...) [A] | semmle.label | ...::A(...) [A] | -| main.rs:305:24:305:24 | n | semmle.label | n | -| main.rs:305:55:305:55 | n | semmle.label | n | -| main.rs:316:9:316:10 | s1 [A] | semmle.label | s1 [A] | -| main.rs:316:14:316:26 | A(...) [A] | semmle.label | A(...) [A] | -| main.rs:316:16:316:25 | source(...) | semmle.label | source(...) | +| main.rs:270:9:270:10 | r1 [Ok] | semmle.label | r1 [Ok] | +| main.rs:270:33:270:46 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] | +| main.rs:270:36:270:45 | source(...) | semmle.label | source(...) | +| main.rs:271:9:271:11 | o1a [Some] | semmle.label | o1a [Some] | +| main.rs:271:29:271:30 | r1 [Ok] | semmle.label | r1 [Ok] | +| main.rs:271:29:271:35 | r1.ok(...) [Some] | semmle.label | r1.ok(...) [Some] | +| main.rs:273:10:273:12 | o1a [Some] | semmle.label | o1a [Some] | +| main.rs:273:10:273:21 | o1a.unwrap(...) | semmle.label | o1a.unwrap(...) | +| main.rs:276:9:276:10 | r2 [Err] | semmle.label | r2 [Err] | +| main.rs:276:33:276:47 | Err(...) [Err] | semmle.label | Err(...) [Err] | +| main.rs:276:37:276:46 | source(...) | semmle.label | source(...) | +| main.rs:278:9:278:11 | o2b [Some] | semmle.label | o2b [Some] | +| main.rs:278:29:278:30 | r2 [Err] | semmle.label | r2 [Err] | +| main.rs:278:29:278:36 | r2.err(...) [Some] | semmle.label | r2.err(...) [Some] | +| main.rs:280:10:280:12 | o2b [Some] | semmle.label | o2b [Some] | +| main.rs:280:10:280:21 | o2b.unwrap(...) | semmle.label | o2b.unwrap(...) | +| main.rs:284:9:284:10 | s1 [Ok] | semmle.label | s1 [Ok] | +| main.rs:284:32:284:45 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] | +| main.rs:284:35:284:44 | source(...) | semmle.label | source(...) | +| main.rs:287:9:287:10 | i1 | semmle.label | i1 | +| main.rs:287:14:287:15 | s1 [Ok] | semmle.label | s1 [Ok] | +| main.rs:287:14:287:16 | TryExpr | semmle.label | TryExpr | +| main.rs:289:10:289:11 | i1 | semmle.label | i1 | +| main.rs:297:9:297:10 | s1 [Ok] | semmle.label | s1 [Ok] | +| main.rs:297:32:297:45 | Ok(...) [Ok] | semmle.label | Ok(...) [Ok] | +| main.rs:297:35:297:44 | source(...) | semmle.label | source(...) | +| main.rs:298:10:298:11 | s1 [Ok] | semmle.label | s1 [Ok] | +| main.rs:298:10:298:22 | s1.expect(...) | semmle.label | s1.expect(...) | +| main.rs:301:9:301:10 | s2 [Err] | semmle.label | s2 [Err] | +| main.rs:301:32:301:46 | Err(...) [Err] | semmle.label | Err(...) [Err] | +| main.rs:301:36:301:45 | source(...) | semmle.label | source(...) | +| main.rs:303:10:303:11 | s2 [Err] | semmle.label | s2 [Err] | +| main.rs:303:10:303:26 | s2.expect_err(...) | semmle.label | s2.expect_err(...) | +| main.rs:312:9:312:10 | s1 [A] | semmle.label | s1 [A] | +| main.rs:312:14:312:39 | ...::A(...) [A] | semmle.label | ...::A(...) [A] | +| main.rs:312:29:312:38 | source(...) | semmle.label | source(...) | +| main.rs:314:11:314:12 | s1 [A] | semmle.label | s1 [A] | +| main.rs:315:9:315:25 | ...::A(...) [A] | semmle.label | ...::A(...) [A] | +| main.rs:315:24:315:24 | n | semmle.label | n | +| main.rs:315:35:315:35 | n | semmle.label | n | | main.rs:318:11:318:12 | s1 [A] | semmle.label | s1 [A] | -| main.rs:319:9:319:12 | A(...) [A] | semmle.label | A(...) [A] | -| main.rs:319:11:319:11 | n | semmle.label | n | -| main.rs:319:22:319:22 | n | semmle.label | n | -| main.rs:322:11:322:12 | s1 [A] | semmle.label | s1 [A] | -| main.rs:323:9:323:12 | A(...) [A] | semmle.label | A(...) [A] | -| main.rs:323:11:323:11 | n | semmle.label | n | -| main.rs:323:29:323:29 | n | semmle.label | n | -| main.rs:337:9:337:10 | s1 [C] | semmle.label | s1 [C] | -| main.rs:337:14:339:5 | ...::C {...} [C] | semmle.label | ...::C {...} [C] | -| main.rs:338:18:338:27 | source(...) | semmle.label | source(...) | -| main.rs:341:11:341:12 | s1 [C] | semmle.label | s1 [C] | -| main.rs:342:9:342:38 | ...::C {...} [C] | semmle.label | ...::C {...} [C] | -| main.rs:342:36:342:36 | n | semmle.label | n | -| main.rs:342:48:342:48 | n | semmle.label | n | -| main.rs:345:11:345:12 | s1 [C] | semmle.label | s1 [C] | -| main.rs:346:9:346:38 | ...::C {...} [C] | semmle.label | ...::C {...} [C] | -| main.rs:346:36:346:36 | n | semmle.label | n | -| main.rs:346:81:346:81 | n | semmle.label | n | -| main.rs:357:9:357:10 | s1 [C] | semmle.label | s1 [C] | -| main.rs:357:14:359:5 | C {...} [C] | semmle.label | C {...} [C] | -| main.rs:358:18:358:27 | source(...) | semmle.label | source(...) | -| main.rs:361:11:361:12 | s1 [C] | semmle.label | s1 [C] | -| main.rs:362:9:362:24 | C {...} [C] | semmle.label | C {...} [C] | -| main.rs:362:22:362:22 | n | semmle.label | n | -| main.rs:362:34:362:34 | n | semmle.label | n | -| main.rs:365:11:365:12 | s1 [C] | semmle.label | s1 [C] | -| main.rs:366:9:366:24 | C {...} [C] | semmle.label | C {...} [C] | -| main.rs:366:22:366:22 | n | semmle.label | n | -| main.rs:366:53:366:53 | n | semmle.label | n | -| main.rs:378:9:378:12 | arr1 [element] | semmle.label | arr1 [element] | -| main.rs:378:16:378:33 | [...] [element] | semmle.label | [...] [element] | -| main.rs:378:23:378:32 | source(...) | semmle.label | source(...) | -| main.rs:379:9:379:10 | n1 | semmle.label | n1 | -| main.rs:379:14:379:17 | arr1 [element] | semmle.label | arr1 [element] | -| main.rs:379:14:379:20 | arr1[2] | semmle.label | arr1[2] | -| main.rs:380:10:380:11 | n1 | semmle.label | n1 | -| main.rs:382:9:382:12 | arr2 [element] | semmle.label | arr2 [element] | -| main.rs:382:16:382:31 | [...; 10] [element] | semmle.label | [...; 10] [element] | -| main.rs:382:17:382:26 | source(...) | semmle.label | source(...) | -| main.rs:383:9:383:10 | n2 | semmle.label | n2 | -| main.rs:383:14:383:17 | arr2 [element] | semmle.label | arr2 [element] | -| main.rs:383:14:383:20 | arr2[4] | semmle.label | arr2[4] | -| main.rs:384:10:384:11 | n2 | semmle.label | n2 | +| main.rs:319:9:319:25 | ...::A(...) [A] | semmle.label | ...::A(...) [A] | +| main.rs:319:24:319:24 | n | semmle.label | n | +| main.rs:319:55:319:55 | n | semmle.label | n | +| main.rs:330:9:330:10 | s1 [A] | semmle.label | s1 [A] | +| main.rs:330:14:330:26 | A(...) [A] | semmle.label | A(...) [A] | +| main.rs:330:16:330:25 | source(...) | semmle.label | source(...) | +| main.rs:332:11:332:12 | s1 [A] | semmle.label | s1 [A] | +| main.rs:333:9:333:12 | A(...) [A] | semmle.label | A(...) [A] | +| main.rs:333:11:333:11 | n | semmle.label | n | +| main.rs:333:22:333:22 | n | semmle.label | n | +| main.rs:336:11:336:12 | s1 [A] | semmle.label | s1 [A] | +| main.rs:337:9:337:12 | A(...) [A] | semmle.label | A(...) [A] | +| main.rs:337:11:337:11 | n | semmle.label | n | +| main.rs:337:29:337:29 | n | semmle.label | n | +| main.rs:351:9:351:10 | s1 [C] | semmle.label | s1 [C] | +| main.rs:351:14:353:5 | ...::C {...} [C] | semmle.label | ...::C {...} [C] | +| main.rs:352:18:352:27 | source(...) | semmle.label | source(...) | +| main.rs:355:11:355:12 | s1 [C] | semmle.label | s1 [C] | +| main.rs:356:9:356:38 | ...::C {...} [C] | semmle.label | ...::C {...} [C] | +| main.rs:356:36:356:36 | n | semmle.label | n | +| main.rs:356:48:356:48 | n | semmle.label | n | +| main.rs:359:11:359:12 | s1 [C] | semmle.label | s1 [C] | +| main.rs:360:9:360:38 | ...::C {...} [C] | semmle.label | ...::C {...} [C] | +| main.rs:360:36:360:36 | n | semmle.label | n | +| main.rs:360:81:360:81 | n | semmle.label | n | +| main.rs:371:9:371:10 | s1 [C] | semmle.label | s1 [C] | +| main.rs:371:14:373:5 | C {...} [C] | semmle.label | C {...} [C] | +| main.rs:372:18:372:27 | source(...) | semmle.label | source(...) | +| main.rs:375:11:375:12 | s1 [C] | semmle.label | s1 [C] | +| main.rs:376:9:376:24 | C {...} [C] | semmle.label | C {...} [C] | +| main.rs:376:22:376:22 | n | semmle.label | n | +| main.rs:376:34:376:34 | n | semmle.label | n | +| main.rs:379:11:379:12 | s1 [C] | semmle.label | s1 [C] | +| main.rs:380:9:380:24 | C {...} [C] | semmle.label | C {...} [C] | +| main.rs:380:22:380:22 | n | semmle.label | n | +| main.rs:380:53:380:53 | n | semmle.label | n | | main.rs:392:9:392:12 | arr1 [element] | semmle.label | arr1 [element] | | main.rs:392:16:392:33 | [...] [element] | semmle.label | [...] [element] | | main.rs:392:23:392:32 | source(...) | semmle.label | source(...) | | main.rs:393:9:393:10 | n1 | semmle.label | n1 | -| main.rs:393:15:393:18 | arr1 [element] | semmle.label | arr1 [element] | -| main.rs:394:14:394:15 | n1 | semmle.label | n1 | -| main.rs:404:9:404:12 | arr1 [element] | semmle.label | arr1 [element] | -| main.rs:404:16:404:33 | [...] [element] | semmle.label | [...] [element] | -| main.rs:404:23:404:32 | source(...) | semmle.label | source(...) | -| main.rs:405:11:405:14 | arr1 [element] | semmle.label | arr1 [element] | -| main.rs:406:9:406:17 | SlicePat [element] | semmle.label | SlicePat [element] | -| main.rs:406:10:406:10 | a | semmle.label | a | -| main.rs:406:13:406:13 | b | semmle.label | b | -| main.rs:406:16:406:16 | c | semmle.label | c | -| main.rs:407:18:407:18 | a | semmle.label | a | -| main.rs:408:18:408:18 | b | semmle.label | b | -| main.rs:409:18:409:18 | c | semmle.label | c | -| main.rs:418:5:418:11 | [post] mut_arr [element] | semmle.label | [post] mut_arr [element] | -| main.rs:418:18:418:27 | source(...) | semmle.label | source(...) | -| main.rs:419:9:419:9 | d | semmle.label | d | -| main.rs:419:13:419:19 | mut_arr [element] | semmle.label | mut_arr [element] | -| main.rs:419:13:419:22 | mut_arr[1] | semmle.label | mut_arr[1] | -| main.rs:420:10:420:10 | d | semmle.label | d | -| main.rs:421:10:421:16 | mut_arr [element] | semmle.label | mut_arr [element] | -| main.rs:421:10:421:19 | mut_arr[0] | semmle.label | mut_arr[0] | -| main.rs:444:9:444:9 | s | semmle.label | s | -| main.rs:444:25:444:26 | source(...) | semmle.label | source(...) | -| main.rs:445:10:445:10 | s | semmle.label | s | -| main.rs:453:9:453:9 | a | semmle.label | a | -| main.rs:453:13:453:22 | source(...) | semmle.label | source(...) | -| main.rs:458:10:458:10 | a | semmle.label | a | -| main.rs:465:9:465:10 | vs [element] | semmle.label | vs [element] | -| main.rs:465:14:465:34 | [...] [element] | semmle.label | [...] [element] | -| main.rs:465:15:465:24 | source(...) | semmle.label | source(...) | -| main.rs:467:10:467:11 | vs [element] | semmle.label | vs [element] | -| main.rs:467:10:467:14 | vs[0] | semmle.label | vs[0] | -| main.rs:471:9:471:9 | v | semmle.label | v | -| main.rs:471:14:471:15 | vs [element] | semmle.label | vs [element] | -| main.rs:472:14:472:14 | v | semmle.label | v | -| main.rs:502:9:502:9 | a | semmle.label | a | -| main.rs:502:13:502:22 | source(...) | semmle.label | source(...) | -| main.rs:504:9:504:9 | c | semmle.label | c | -| main.rs:504:13:504:22 | source(...) | semmle.label | source(...) | -| main.rs:505:9:505:13 | c_ref [&ref] | semmle.label | c_ref [&ref] | -| main.rs:505:17:505:18 | &c [&ref] | semmle.label | &c [&ref] | -| main.rs:505:18:505:18 | c | semmle.label | c | -| main.rs:507:10:507:10 | a | semmle.label | a | -| main.rs:510:10:510:15 | * ... | semmle.label | * ... | -| main.rs:510:11:510:15 | c_ref [&ref] | semmle.label | c_ref [&ref] | +| main.rs:393:14:393:17 | arr1 [element] | semmle.label | arr1 [element] | +| main.rs:393:14:393:20 | arr1[2] | semmle.label | arr1[2] | +| main.rs:394:10:394:11 | n1 | semmle.label | n1 | +| main.rs:396:9:396:12 | arr2 [element] | semmle.label | arr2 [element] | +| main.rs:396:16:396:31 | [...; 10] [element] | semmle.label | [...; 10] [element] | +| main.rs:396:17:396:26 | source(...) | semmle.label | source(...) | +| main.rs:397:9:397:10 | n2 | semmle.label | n2 | +| main.rs:397:14:397:17 | arr2 [element] | semmle.label | arr2 [element] | +| main.rs:397:14:397:20 | arr2[4] | semmle.label | arr2[4] | +| main.rs:398:10:398:11 | n2 | semmle.label | n2 | +| main.rs:406:9:406:12 | arr1 [element] | semmle.label | arr1 [element] | +| main.rs:406:16:406:33 | [...] [element] | semmle.label | [...] [element] | +| main.rs:406:23:406:32 | source(...) | semmle.label | source(...) | +| main.rs:407:9:407:10 | n1 | semmle.label | n1 | +| main.rs:407:15:407:18 | arr1 [element] | semmle.label | arr1 [element] | +| main.rs:408:14:408:15 | n1 | semmle.label | n1 | +| main.rs:418:9:418:12 | arr1 [element] | semmle.label | arr1 [element] | +| main.rs:418:16:418:33 | [...] [element] | semmle.label | [...] [element] | +| main.rs:418:23:418:32 | source(...) | semmle.label | source(...) | +| main.rs:419:11:419:14 | arr1 [element] | semmle.label | arr1 [element] | +| main.rs:420:9:420:17 | SlicePat [element] | semmle.label | SlicePat [element] | +| main.rs:420:10:420:10 | a | semmle.label | a | +| main.rs:420:13:420:13 | b | semmle.label | b | +| main.rs:420:16:420:16 | c | semmle.label | c | +| main.rs:421:18:421:18 | a | semmle.label | a | +| main.rs:422:18:422:18 | b | semmle.label | b | +| main.rs:423:18:423:18 | c | semmle.label | c | +| main.rs:432:5:432:11 | [post] mut_arr [element] | semmle.label | [post] mut_arr [element] | +| main.rs:432:18:432:27 | source(...) | semmle.label | source(...) | +| main.rs:433:9:433:9 | d | semmle.label | d | +| main.rs:433:13:433:19 | mut_arr [element] | semmle.label | mut_arr [element] | +| main.rs:433:13:433:22 | mut_arr[1] | semmle.label | mut_arr[1] | +| main.rs:434:10:434:10 | d | semmle.label | d | +| main.rs:435:10:435:16 | mut_arr [element] | semmle.label | mut_arr [element] | +| main.rs:435:10:435:19 | mut_arr[0] | semmle.label | mut_arr[0] | +| main.rs:458:9:458:9 | s | semmle.label | s | +| main.rs:458:25:458:26 | source(...) | semmle.label | source(...) | +| main.rs:459:10:459:10 | s | semmle.label | s | +| main.rs:467:9:467:9 | a | semmle.label | a | +| main.rs:467:13:467:22 | source(...) | semmle.label | source(...) | +| main.rs:472:10:472:10 | a | semmle.label | a | +| main.rs:479:9:479:10 | vs [element] | semmle.label | vs [element] | +| main.rs:479:14:479:34 | [...] [element] | semmle.label | [...] [element] | +| main.rs:479:15:479:24 | source(...) | semmle.label | source(...) | +| main.rs:481:10:481:11 | vs [element] | semmle.label | vs [element] | +| main.rs:481:10:481:14 | vs[0] | semmle.label | vs[0] | +| main.rs:485:9:485:9 | v | semmle.label | v | +| main.rs:485:14:485:15 | vs [element] | semmle.label | vs [element] | +| main.rs:486:14:486:14 | v | semmle.label | v | +| main.rs:516:9:516:9 | a | semmle.label | a | +| main.rs:516:13:516:22 | source(...) | semmle.label | source(...) | +| main.rs:518:9:518:9 | c | semmle.label | c | +| main.rs:518:13:518:22 | source(...) | semmle.label | source(...) | +| main.rs:519:9:519:13 | c_ref [&ref] | semmle.label | c_ref [&ref] | +| main.rs:519:17:519:18 | &c [&ref] | semmle.label | &c [&ref] | +| main.rs:519:18:519:18 | c | semmle.label | c | +| main.rs:521:10:521:10 | a | semmle.label | a | +| main.rs:524:10:524:15 | * ... | semmle.label | * ... | +| main.rs:524:11:524:15 | c_ref [&ref] | semmle.label | c_ref [&ref] | subpaths testFailures #select @@ -466,28 +498,30 @@ testFailures | main.rs:254:10:254:32 | s1.unwrap_or_else(...) | main.rs:253:19:253:28 | source(...) | main.rs:254:10:254:32 | s1.unwrap_or_else(...) | $@ | main.rs:253:19:253:28 | source(...) | source(...) | | main.rs:257:10:257:41 | s2.unwrap_or_else(...) | main.rs:257:31:257:40 | source(...) | main.rs:257:10:257:41 | s2.unwrap_or_else(...) | $@ | main.rs:257:31:257:40 | source(...) | source(...) | | main.rs:264:10:264:11 | i1 | main.rs:261:19:261:28 | source(...) | main.rs:264:10:264:11 | i1 | $@ | main.rs:261:19:261:28 | source(...) | source(...) | -| main.rs:275:10:275:11 | i1 | main.rs:270:35:270:44 | source(...) | main.rs:275:10:275:11 | i1 | $@ | main.rs:270:35:270:44 | source(...) | source(...) | -| main.rs:284:10:284:22 | s1.expect(...) | main.rs:283:35:283:44 | source(...) | main.rs:284:10:284:22 | s1.expect(...) | $@ | main.rs:283:35:283:44 | source(...) | source(...) | -| main.rs:289:10:289:26 | s2.expect_err(...) | main.rs:287:36:287:45 | source(...) | main.rs:289:10:289:26 | s2.expect_err(...) | $@ | main.rs:287:36:287:45 | source(...) | source(...) | -| main.rs:301:35:301:35 | n | main.rs:298:29:298:38 | source(...) | main.rs:301:35:301:35 | n | $@ | main.rs:298:29:298:38 | source(...) | source(...) | -| main.rs:305:55:305:55 | n | main.rs:298:29:298:38 | source(...) | main.rs:305:55:305:55 | n | $@ | main.rs:298:29:298:38 | source(...) | source(...) | -| main.rs:319:22:319:22 | n | main.rs:316:16:316:25 | source(...) | main.rs:319:22:319:22 | n | $@ | main.rs:316:16:316:25 | source(...) | source(...) | -| main.rs:323:29:323:29 | n | main.rs:316:16:316:25 | source(...) | main.rs:323:29:323:29 | n | $@ | main.rs:316:16:316:25 | source(...) | source(...) | -| main.rs:342:48:342:48 | n | main.rs:338:18:338:27 | source(...) | main.rs:342:48:342:48 | n | $@ | main.rs:338:18:338:27 | source(...) | source(...) | -| main.rs:346:81:346:81 | n | main.rs:338:18:338:27 | source(...) | main.rs:346:81:346:81 | n | $@ | main.rs:338:18:338:27 | source(...) | source(...) | -| main.rs:362:34:362:34 | n | main.rs:358:18:358:27 | source(...) | main.rs:362:34:362:34 | n | $@ | main.rs:358:18:358:27 | source(...) | source(...) | -| main.rs:366:53:366:53 | n | main.rs:358:18:358:27 | source(...) | main.rs:366:53:366:53 | n | $@ | main.rs:358:18:358:27 | source(...) | source(...) | -| main.rs:380:10:380:11 | n1 | main.rs:378:23:378:32 | source(...) | main.rs:380:10:380:11 | n1 | $@ | main.rs:378:23:378:32 | source(...) | source(...) | -| main.rs:384:10:384:11 | n2 | main.rs:382:17:382:26 | source(...) | main.rs:384:10:384:11 | n2 | $@ | main.rs:382:17:382:26 | source(...) | source(...) | -| main.rs:394:14:394:15 | n1 | main.rs:392:23:392:32 | source(...) | main.rs:394:14:394:15 | n1 | $@ | main.rs:392:23:392:32 | source(...) | source(...) | -| main.rs:407:18:407:18 | a | main.rs:404:23:404:32 | source(...) | main.rs:407:18:407:18 | a | $@ | main.rs:404:23:404:32 | source(...) | source(...) | -| main.rs:408:18:408:18 | b | main.rs:404:23:404:32 | source(...) | main.rs:408:18:408:18 | b | $@ | main.rs:404:23:404:32 | source(...) | source(...) | -| main.rs:409:18:409:18 | c | main.rs:404:23:404:32 | source(...) | main.rs:409:18:409:18 | c | $@ | main.rs:404:23:404:32 | source(...) | source(...) | -| main.rs:420:10:420:10 | d | main.rs:418:18:418:27 | source(...) | main.rs:420:10:420:10 | d | $@ | main.rs:418:18:418:27 | source(...) | source(...) | -| main.rs:421:10:421:19 | mut_arr[0] | main.rs:418:18:418:27 | source(...) | main.rs:421:10:421:19 | mut_arr[0] | $@ | main.rs:418:18:418:27 | source(...) | source(...) | -| main.rs:445:10:445:10 | s | main.rs:444:25:444:26 | source(...) | main.rs:445:10:445:10 | s | $@ | main.rs:444:25:444:26 | source(...) | source(...) | -| main.rs:458:10:458:10 | a | main.rs:453:13:453:22 | source(...) | main.rs:458:10:458:10 | a | $@ | main.rs:453:13:453:22 | source(...) | source(...) | -| main.rs:467:10:467:14 | vs[0] | main.rs:465:15:465:24 | source(...) | main.rs:467:10:467:14 | vs[0] | $@ | main.rs:465:15:465:24 | source(...) | source(...) | -| main.rs:472:14:472:14 | v | main.rs:465:15:465:24 | source(...) | main.rs:472:14:472:14 | v | $@ | main.rs:465:15:465:24 | source(...) | source(...) | -| main.rs:507:10:507:10 | a | main.rs:502:13:502:22 | source(...) | main.rs:507:10:507:10 | a | $@ | main.rs:502:13:502:22 | source(...) | source(...) | -| main.rs:510:10:510:15 | * ... | main.rs:504:13:504:22 | source(...) | main.rs:510:10:510:15 | * ... | $@ | main.rs:504:13:504:22 | source(...) | source(...) | +| main.rs:273:10:273:21 | o1a.unwrap(...) | main.rs:270:36:270:45 | source(...) | main.rs:273:10:273:21 | o1a.unwrap(...) | $@ | main.rs:270:36:270:45 | source(...) | source(...) | +| main.rs:280:10:280:21 | o2b.unwrap(...) | main.rs:276:37:276:46 | source(...) | main.rs:280:10:280:21 | o2b.unwrap(...) | $@ | main.rs:276:37:276:46 | source(...) | source(...) | +| main.rs:289:10:289:11 | i1 | main.rs:284:35:284:44 | source(...) | main.rs:289:10:289:11 | i1 | $@ | main.rs:284:35:284:44 | source(...) | source(...) | +| main.rs:298:10:298:22 | s1.expect(...) | main.rs:297:35:297:44 | source(...) | main.rs:298:10:298:22 | s1.expect(...) | $@ | main.rs:297:35:297:44 | source(...) | source(...) | +| main.rs:303:10:303:26 | s2.expect_err(...) | main.rs:301:36:301:45 | source(...) | main.rs:303:10:303:26 | s2.expect_err(...) | $@ | main.rs:301:36:301:45 | source(...) | source(...) | +| main.rs:315:35:315:35 | n | main.rs:312:29:312:38 | source(...) | main.rs:315:35:315:35 | n | $@ | main.rs:312:29:312:38 | source(...) | source(...) | +| main.rs:319:55:319:55 | n | main.rs:312:29:312:38 | source(...) | main.rs:319:55:319:55 | n | $@ | main.rs:312:29:312:38 | source(...) | source(...) | +| main.rs:333:22:333:22 | n | main.rs:330:16:330:25 | source(...) | main.rs:333:22:333:22 | n | $@ | main.rs:330:16:330:25 | source(...) | source(...) | +| main.rs:337:29:337:29 | n | main.rs:330:16:330:25 | source(...) | main.rs:337:29:337:29 | n | $@ | main.rs:330:16:330:25 | source(...) | source(...) | +| main.rs:356:48:356:48 | n | main.rs:352:18:352:27 | source(...) | main.rs:356:48:356:48 | n | $@ | main.rs:352:18:352:27 | source(...) | source(...) | +| main.rs:360:81:360:81 | n | main.rs:352:18:352:27 | source(...) | main.rs:360:81:360:81 | n | $@ | main.rs:352:18:352:27 | source(...) | source(...) | +| main.rs:376:34:376:34 | n | main.rs:372:18:372:27 | source(...) | main.rs:376:34:376:34 | n | $@ | main.rs:372:18:372:27 | source(...) | source(...) | +| main.rs:380:53:380:53 | n | main.rs:372:18:372:27 | source(...) | main.rs:380:53:380:53 | n | $@ | main.rs:372:18:372:27 | source(...) | source(...) | +| main.rs:394:10:394:11 | n1 | main.rs:392:23:392:32 | source(...) | main.rs:394:10:394:11 | n1 | $@ | main.rs:392:23:392:32 | source(...) | source(...) | +| main.rs:398:10:398:11 | n2 | main.rs:396:17:396:26 | source(...) | main.rs:398:10:398:11 | n2 | $@ | main.rs:396:17:396:26 | source(...) | source(...) | +| main.rs:408:14:408:15 | n1 | main.rs:406:23:406:32 | source(...) | main.rs:408:14:408:15 | n1 | $@ | main.rs:406:23:406:32 | source(...) | source(...) | +| main.rs:421:18:421:18 | a | main.rs:418:23:418:32 | source(...) | main.rs:421:18:421:18 | a | $@ | main.rs:418:23:418:32 | source(...) | source(...) | +| main.rs:422:18:422:18 | b | main.rs:418:23:418:32 | source(...) | main.rs:422:18:422:18 | b | $@ | main.rs:418:23:418:32 | source(...) | source(...) | +| main.rs:423:18:423:18 | c | main.rs:418:23:418:32 | source(...) | main.rs:423:18:423:18 | c | $@ | main.rs:418:23:418:32 | source(...) | source(...) | +| main.rs:434:10:434:10 | d | main.rs:432:18:432:27 | source(...) | main.rs:434:10:434:10 | d | $@ | main.rs:432:18:432:27 | source(...) | source(...) | +| main.rs:435:10:435:19 | mut_arr[0] | main.rs:432:18:432:27 | source(...) | main.rs:435:10:435:19 | mut_arr[0] | $@ | main.rs:432:18:432:27 | source(...) | source(...) | +| main.rs:459:10:459:10 | s | main.rs:458:25:458:26 | source(...) | main.rs:459:10:459:10 | s | $@ | main.rs:458:25:458:26 | source(...) | source(...) | +| main.rs:472:10:472:10 | a | main.rs:467:13:467:22 | source(...) | main.rs:472:10:472:10 | a | $@ | main.rs:467:13:467:22 | source(...) | source(...) | +| main.rs:481:10:481:14 | vs[0] | main.rs:479:15:479:24 | source(...) | main.rs:481:10:481:14 | vs[0] | $@ | main.rs:479:15:479:24 | source(...) | source(...) | +| main.rs:486:14:486:14 | v | main.rs:479:15:479:24 | source(...) | main.rs:486:14:486:14 | v | $@ | main.rs:479:15:479:24 | source(...) | source(...) | +| main.rs:521:10:521:10 | a | main.rs:516:13:516:22 | source(...) | main.rs:521:10:521:10 | a | $@ | main.rs:516:13:516:22 | source(...) | source(...) | +| main.rs:524:10:524:15 | * ... | main.rs:518:13:518:22 | source(...) | main.rs:524:10:524:15 | * ... | $@ | main.rs:518:13:518:22 | source(...) | source(...) | diff --git a/rust/ql/test/library-tests/dataflow/local/main.rs b/rust/ql/test/library-tests/dataflow/local/main.rs index 33872fa8e720..858773d1b306 100644 --- a/rust/ql/test/library-tests/dataflow/local/main.rs +++ b/rust/ql/test/library-tests/dataflow/local/main.rs @@ -266,6 +266,20 @@ fn option_questionmark() -> Option { Some(0) } +fn option_ok() { + let r1 : Result = Ok(source(21)); + let o1a : Option = r1.ok(); + let o1b : Option = r1.err(); + sink(o1a.unwrap()); // $ hasValueFlow=21 + sink(o1b.unwrap()); + + let r2 : Result = Err(source(22)); + let o2a : Option = r2.ok(); + let o2b : Option = r2.err(); + sink(o2a.unwrap()); + sink(o2b.unwrap()); // $ hasValueFlow=22 +} + fn result_questionmark() -> Result { let s1: Result = Ok(source(20)); let s2: Result = Ok(2); @@ -533,6 +547,7 @@ fn main() { option_unwrap(); option_unwrap_or(); option_questionmark(); + option_ok(); let _ = result_questionmark(); custom_tuple_enum_pattern_match_qualified(); custom_tuple_enum_pattern_match_unqualified();