Merge pull request #19039 from paldepind/rust-cfg-uppercase

Rust: Assume in the CFG that lowercase identifiers are in fact identifiers
This commit is contained in:
Simon Friis Vindum
2025-03-17 12:40:56 +01:00
committed by GitHub
5 changed files with 34 additions and 170 deletions

View File

@@ -126,8 +126,11 @@ private predicate cannotCauseMatchFailure(Pat pat) {
pat instanceof RangePat or
// Identifier patterns that are in fact path patterns can cause failures. For
// instance `None`. Only if an `@ ...` part is present can we be sure that
// it's an actual identifier pattern.
pat = any(IdentPat p | p.hasPat()) or
// it's an actual identifier pattern. As a heuristic, if the identifier starts
// with a lower case letter, then we assume that it's an identifier. This
// works for code that follows the Rust naming convention for enums and
// constants.
pat = any(IdentPat p | p.hasPat() or p.getName().getText().charAt(0).isLowercase()) or
pat instanceof WildcardPat or
pat instanceof RestPat or
pat instanceof RefPat or

View File

@@ -19,7 +19,6 @@ edges
| test.rs:6:17:6:31 | let ... = b | test.rs:6:31:6:31 | b | |
| test.rs:6:21:6:27 | Some(...) | test.rs:6:12:6:31 | [boolean(false)] ... && ... | no-match |
| test.rs:6:21:6:27 | Some(...) | test.rs:6:26:6:26 | d | match |
| test.rs:6:26:6:26 | d | test.rs:6:12:6:31 | [boolean(false)] ... && ... | no-match |
| test.rs:6:26:6:26 | d | test.rs:6:12:6:31 | [boolean(true)] ... && ... | match |
| test.rs:6:26:6:26 | d | test.rs:6:26:6:26 | d | |
| test.rs:6:31:6:31 | b | test.rs:6:21:6:27 | Some(...) | |
@@ -47,7 +46,6 @@ edges
| test.rs:14:12:15:16 | [boolean(false)] ... && ... | test.rs:19:13:19:17 | false | false |
| test.rs:14:12:15:16 | [boolean(true)] ... && ... | test.rs:17:13:17:13 | d | true |
| test.rs:14:17:14:25 | let ... = b | test.rs:14:25:14:25 | b | |
| test.rs:14:21:14:21 | d | test.rs:14:12:14:25 | [boolean(false)] ... && ... | no-match |
| test.rs:14:21:14:21 | d | test.rs:14:12:14:25 | [boolean(true)] ... && ... | match |
| test.rs:14:21:14:21 | d | test.rs:14:21:14:21 | d | |
| test.rs:14:25:14:25 | b | test.rs:14:21:14:21 | d | |

View File

@@ -121,23 +121,17 @@ dominates
| test.rs:97:5:104:5 | enter fn test_while_let | test.rs:99:15:99:39 | let ... = ... |
| test.rs:97:5:104:5 | enter fn test_while_let | test.rs:99:24:99:24 | x |
| test.rs:97:5:104:5 | enter fn test_while_let | test.rs:100:13:102:13 | if ... {...} |
| test.rs:97:5:104:5 | enter fn test_while_let | test.rs:100:17:100:17 | x |
| test.rs:97:5:104:5 | enter fn test_while_let | test.rs:101:17:101:22 | ExprStmt |
| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:9:103:9 | while ... { ... } |
| test.rs:99:15:99:39 | let ... = ... | test.rs:99:9:103:9 | while ... { ... } |
| test.rs:99:15:99:39 | let ... = ... | test.rs:99:15:99:39 | let ... = ... |
| test.rs:99:15:99:39 | let ... = ... | test.rs:99:24:99:24 | x |
| test.rs:99:15:99:39 | let ... = ... | test.rs:100:13:102:13 | if ... {...} |
| test.rs:99:15:99:39 | let ... = ... | test.rs:100:17:100:17 | x |
| test.rs:99:15:99:39 | let ... = ... | test.rs:101:17:101:22 | ExprStmt |
| test.rs:99:24:99:24 | x | test.rs:99:24:99:24 | x |
| test.rs:99:24:99:24 | x | test.rs:100:13:102:13 | if ... {...} |
| test.rs:99:24:99:24 | x | test.rs:100:17:100:17 | x |
| test.rs:99:24:99:24 | x | test.rs:101:17:101:22 | ExprStmt |
| test.rs:100:13:102:13 | if ... {...} | test.rs:100:13:102:13 | if ... {...} |
| test.rs:100:17:100:17 | x | test.rs:100:13:102:13 | if ... {...} |
| test.rs:100:17:100:17 | x | test.rs:100:17:100:17 | x |
| test.rs:100:17:100:17 | x | test.rs:101:17:101:22 | ExprStmt |
| test.rs:101:17:101:22 | ExprStmt | test.rs:101:17:101:22 | ExprStmt |
| test.rs:106:5:113:5 | enter fn test_for | test.rs:106:5:113:5 | enter fn test_for |
| test.rs:106:5:113:5 | enter fn test_for | test.rs:107:9:112:9 | for ... in ... { ... } |
@@ -174,23 +168,17 @@ dominates
| test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:145:5:151:5 | enter fn test_if_let_else |
| test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:146:9:150:9 | if ... {...} else {...} |
| test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:146:21:146:21 | n |
| test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:147:13:147:13 | n |
| test.rs:145:5:151:5 | enter fn test_if_let_else | test.rs:149:13:149:13 | 0 |
| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:146:9:150:9 | if ... {...} else {...} |
| test.rs:146:21:146:21 | n | test.rs:146:21:146:21 | n |
| test.rs:146:21:146:21 | n | test.rs:147:13:147:13 | n |
| test.rs:147:13:147:13 | n | test.rs:147:13:147:13 | n |
| test.rs:149:13:149:13 | 0 | test.rs:149:13:149:13 | 0 |
| test.rs:153:5:158:5 | enter fn test_if_let | test.rs:153:5:158:5 | enter fn test_if_let |
| test.rs:153:5:158:5 | enter fn test_if_let | test.rs:153:5:158:5 | exit fn test_if_let (normal) |
| test.rs:153:5:158:5 | enter fn test_if_let | test.rs:154:9:156:9 | if ... {...} |
| test.rs:153:5:158:5 | enter fn test_if_let | test.rs:154:21:154:21 | n |
| test.rs:153:5:158:5 | enter fn test_if_let | test.rs:155:13:155:21 | ExprStmt |
| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:153:5:158:5 | exit fn test_if_let (normal) |
| test.rs:154:9:156:9 | if ... {...} | test.rs:154:9:156:9 | if ... {...} |
| test.rs:154:21:154:21 | n | test.rs:154:21:154:21 | n |
| test.rs:154:21:154:21 | n | test.rs:155:13:155:21 | ExprStmt |
| test.rs:155:13:155:21 | ExprStmt | test.rs:155:13:155:21 | ExprStmt |
| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:160:5:166:5 | enter fn test_nested_if |
| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:9:165:9 | if ... {...} else {...} |
| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} |
@@ -518,26 +506,18 @@ dominates
| test.rs:326:5:332:5 | enter fn test_match | test.rs:326:5:332:5 | enter fn test_match |
| test.rs:326:5:332:5 | enter fn test_match | test.rs:327:9:331:9 | match maybe_digit { ... } |
| test.rs:326:5:332:5 | enter fn test_match | test.rs:328:26:328:26 | x |
| test.rs:326:5:332:5 | enter fn test_match | test.rs:328:32:328:32 | x |
| test.rs:326:5:332:5 | enter fn test_match | test.rs:328:42:328:42 | x |
| test.rs:326:5:332:5 | enter fn test_match | test.rs:329:13:329:27 | ...::Some(...) |
| test.rs:326:5:332:5 | enter fn test_match | test.rs:329:26:329:26 | x |
| test.rs:326:5:332:5 | enter fn test_match | test.rs:329:32:329:32 | x |
| test.rs:326:5:332:5 | enter fn test_match | test.rs:330:13:330:24 | ...::None |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:327:9:331:9 | match maybe_digit { ... } |
| test.rs:328:26:328:26 | x | test.rs:328:26:328:26 | x |
| test.rs:328:26:328:26 | x | test.rs:328:32:328:32 | x |
| test.rs:328:26:328:26 | x | test.rs:328:42:328:42 | x |
| test.rs:328:32:328:32 | x | test.rs:328:32:328:32 | x |
| test.rs:328:32:328:32 | x | test.rs:328:42:328:42 | x |
| test.rs:328:42:328:42 | x | test.rs:328:42:328:42 | x |
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:329:13:329:27 | ...::Some(...) |
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:329:26:329:26 | x |
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:329:32:329:32 | x |
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:330:13:330:24 | ...::None |
| test.rs:329:26:329:26 | x | test.rs:329:26:329:26 | x |
| test.rs:329:26:329:26 | x | test.rs:329:32:329:32 | x |
| test.rs:329:32:329:32 | x | test.rs:329:32:329:32 | x |
| test.rs:330:13:330:24 | ...::None | test.rs:330:13:330:24 | ...::None |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) |
@@ -545,7 +525,6 @@ dominates
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:336:13:336:21 | ExprStmt |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:338:13:338:23 | maybe_digit |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:340:26:340:26 | x |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:340:32:340:32 | x |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:341:13:341:24 | ...::None |
| test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) |
| test.rs:335:9:342:9 | match ... { ... } | test.rs:335:9:342:9 | match ... { ... } |
@@ -553,18 +532,14 @@ dominates
| test.rs:338:13:338:23 | maybe_digit | test.rs:335:9:342:9 | match ... { ... } |
| test.rs:338:13:338:23 | maybe_digit | test.rs:338:13:338:23 | maybe_digit |
| test.rs:338:13:338:23 | maybe_digit | test.rs:340:26:340:26 | x |
| test.rs:338:13:338:23 | maybe_digit | test.rs:340:32:340:32 | x |
| test.rs:338:13:338:23 | maybe_digit | test.rs:341:13:341:24 | ...::None |
| test.rs:340:26:340:26 | x | test.rs:340:26:340:26 | x |
| test.rs:340:26:340:26 | x | test.rs:340:32:340:32 | x |
| test.rs:340:32:340:32 | x | test.rs:340:32:340:32 | x |
| test.rs:341:13:341:24 | ...::None | test.rs:341:13:341:24 | ...::None |
| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:345:5:350:5 | enter fn test_match_and |
| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:346:9:349:18 | ... && ... |
| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:346:10:349:9 | [boolean(false)] match r { ... } |
| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:346:10:349:9 | [boolean(true)] match r { ... } |
| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:347:18:347:18 | a |
| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:347:24:347:24 | a |
| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:348:13:348:13 | _ |
| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:349:15:349:18 | cond |
| test.rs:346:9:349:18 | ... && ... | test.rs:346:9:349:18 | ... && ... |
@@ -573,40 +548,27 @@ dominates
| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:349:15:349:18 | cond |
| test.rs:347:18:347:18 | a | test.rs:346:10:349:9 | [boolean(true)] match r { ... } |
| test.rs:347:18:347:18 | a | test.rs:347:18:347:18 | a |
| test.rs:347:18:347:18 | a | test.rs:347:24:347:24 | a |
| test.rs:347:18:347:18 | a | test.rs:349:15:349:18 | cond |
| test.rs:347:24:347:24 | a | test.rs:346:10:349:9 | [boolean(true)] match r { ... } |
| test.rs:347:24:347:24 | a | test.rs:347:24:347:24 | a |
| test.rs:347:24:347:24 | a | test.rs:349:15:349:18 | cond |
| test.rs:348:13:348:13 | _ | test.rs:348:13:348:13 | _ |
| test.rs:349:15:349:18 | cond | test.rs:349:15:349:18 | cond |
| test.rs:352:5:357:5 | enter fn test_match_with_no_arms | test.rs:352:5:357:5 | enter fn test_match_with_no_arms |
| test.rs:352:5:357:5 | enter fn test_match_with_no_arms | test.rs:353:9:356:9 | match r { ... } |
| test.rs:352:5:357:5 | enter fn test_match_with_no_arms | test.rs:354:16:354:20 | value |
| test.rs:352:5:357:5 | enter fn test_match_with_no_arms | test.rs:354:26:354:30 | value |
| test.rs:352:5:357:5 | enter fn test_match_with_no_arms | test.rs:355:13:355:22 | Err(...) |
| test.rs:353:9:356:9 | match r { ... } | test.rs:353:9:356:9 | match r { ... } |
| test.rs:354:16:354:20 | value | test.rs:354:16:354:20 | value |
| test.rs:354:16:354:20 | value | test.rs:354:26:354:30 | value |
| test.rs:354:26:354:30 | value | test.rs:354:26:354:30 | value |
| test.rs:355:13:355:22 | Err(...) | test.rs:355:13:355:22 | Err(...) |
| test.rs:362:5:365:5 | enter fn test_let_match | test.rs:362:5:365:5 | enter fn test_let_match |
| test.rs:362:5:365:5 | enter fn test_let_match | test.rs:363:18:363:18 | n |
| test.rs:362:5:365:5 | enter fn test_let_match | test.rs:363:39:363:53 | MacroStmts |
| test.rs:362:5:365:5 | enter fn test_let_match | test.rs:364:9:364:9 | n |
| test.rs:363:18:363:18 | n | test.rs:363:18:363:18 | n |
| test.rs:363:18:363:18 | n | test.rs:364:9:364:9 | n |
| test.rs:363:39:363:53 | MacroStmts | test.rs:363:39:363:53 | MacroStmts |
| test.rs:364:9:364:9 | n | test.rs:364:9:364:9 | n |
| test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:367:5:373:5 | enter fn test_let_with_return |
| test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:367:5:373:5 | exit fn test_let_with_return (normal) |
| test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:369:18:369:20 | ret |
| test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:369:26:369:28 | ret |
| test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:370:13:370:16 | None |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:367:5:373:5 | exit fn test_let_with_return (normal) |
| test.rs:369:18:369:20 | ret | test.rs:369:18:369:20 | ret |
| test.rs:369:18:369:20 | ret | test.rs:369:26:369:28 | ret |
| test.rs:369:26:369:28 | ret | test.rs:369:26:369:28 | ret |
| test.rs:370:13:370:16 | None | test.rs:370:13:370:16 | None |
| test.rs:378:5:381:5 | enter fn empty_tuple_pattern | test.rs:378:5:381:5 | enter fn empty_tuple_pattern |
| test.rs:387:5:391:5 | enter fn empty_struct_pattern | test.rs:387:5:391:5 | enter fn empty_struct_pattern |
@@ -729,12 +691,9 @@ dominates
| test.rs:456:13:456:13 | _ | test.rs:456:13:456:13 | _ |
| test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code |
| test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | test.rs:461:9:464:9 | match pair { ... } |
| test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | test.rs:462:18:462:34 | MyStruct {...} |
| test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | test.rs:462:32:462:32 | _ |
| test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | test.rs:463:13:463:13 | _ |
| test.rs:461:9:464:9 | match pair { ... } | test.rs:461:9:464:9 | match pair { ... } |
| test.rs:462:18:462:34 | MyStruct {...} | test.rs:462:18:462:34 | MyStruct {...} |
| test.rs:462:18:462:34 | MyStruct {...} | test.rs:462:32:462:32 | _ |
| test.rs:462:32:462:32 | _ | test.rs:462:32:462:32 | _ |
| test.rs:463:13:463:13 | _ | test.rs:463:13:463:13 | _ |
| test.rs:475:5:481:5 | enter fn enum_pattern | test.rs:475:5:481:5 | enter fn enum_pattern |
@@ -805,12 +764,9 @@ dominates
| test.rs:584:1:592:1 | enter fn labelled_block2 | test.rs:585:18:591:5 | 'block: { ... } |
| test.rs:584:1:592:1 | enter fn labelled_block2 | test.rs:587:18:587:18 | y |
| test.rs:584:1:592:1 | enter fn labelled_block2 | test.rs:588:13:588:27 | ExprStmt |
| test.rs:584:1:592:1 | enter fn labelled_block2 | test.rs:590:9:590:9 | 0 |
| test.rs:585:18:591:5 | 'block: { ... } | test.rs:585:18:591:5 | 'block: { ... } |
| test.rs:587:18:587:18 | y | test.rs:587:18:587:18 | y |
| test.rs:587:18:587:18 | y | test.rs:590:9:590:9 | 0 |
| test.rs:588:13:588:27 | ExprStmt | test.rs:588:13:588:27 | ExprStmt |
| test.rs:590:9:590:9 | 0 | test.rs:590:9:590:9 | 0 |
| test.rs:594:1:600:1 | enter fn test_nested_function2 | test.rs:594:1:600:1 | enter fn test_nested_function2 |
| test.rs:596:5:598:5 | enter fn nested | test.rs:596:5:598:5 | enter fn nested |
| test.rs:611:5:613:5 | enter fn new | test.rs:611:5:613:5 | enter fn new |
@@ -903,14 +859,12 @@ postDominance
| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:15:99:39 | let ... = ... |
| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:24:99:24 | x |
| test.rs:99:9:103:9 | while ... { ... } | test.rs:100:13:102:13 | if ... {...} |
| test.rs:99:9:103:9 | while ... { ... } | test.rs:100:17:100:17 | x |
| test.rs:99:9:103:9 | while ... { ... } | test.rs:101:17:101:22 | ExprStmt |
| test.rs:99:15:99:39 | let ... = ... | test.rs:97:5:104:5 | enter fn test_while_let |
| test.rs:99:15:99:39 | let ... = ... | test.rs:99:15:99:39 | let ... = ... |
| test.rs:99:15:99:39 | let ... = ... | test.rs:100:13:102:13 | if ... {...} |
| test.rs:99:24:99:24 | x | test.rs:99:24:99:24 | x |
| test.rs:100:13:102:13 | if ... {...} | test.rs:100:13:102:13 | if ... {...} |
| test.rs:100:17:100:17 | x | test.rs:100:17:100:17 | x |
| test.rs:101:17:101:22 | ExprStmt | test.rs:101:17:101:22 | ExprStmt |
| test.rs:106:5:113:5 | enter fn test_for | test.rs:106:5:113:5 | enter fn test_for |
| test.rs:107:9:112:9 | for ... in ... { ... } | test.rs:106:5:113:5 | enter fn test_for |
@@ -944,20 +898,16 @@ postDominance
| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:145:5:151:5 | enter fn test_if_let_else |
| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:146:9:150:9 | if ... {...} else {...} |
| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:146:21:146:21 | n |
| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:147:13:147:13 | n |
| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:149:13:149:13 | 0 |
| test.rs:146:21:146:21 | n | test.rs:146:21:146:21 | n |
| test.rs:147:13:147:13 | n | test.rs:147:13:147:13 | n |
| test.rs:149:13:149:13 | 0 | test.rs:149:13:149:13 | 0 |
| test.rs:153:5:158:5 | enter fn test_if_let | test.rs:153:5:158:5 | enter fn test_if_let |
| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:153:5:158:5 | enter fn test_if_let |
| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:153:5:158:5 | exit fn test_if_let (normal) |
| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:154:9:156:9 | if ... {...} |
| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:154:21:154:21 | n |
| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:155:13:155:21 | ExprStmt |
| test.rs:154:9:156:9 | if ... {...} | test.rs:154:9:156:9 | if ... {...} |
| test.rs:154:21:154:21 | n | test.rs:154:21:154:21 | n |
| test.rs:155:13:155:21 | ExprStmt | test.rs:155:13:155:21 | ExprStmt |
| test.rs:160:5:166:5 | enter fn test_nested_if | test.rs:160:5:166:5 | enter fn test_nested_if |
| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:160:5:166:5 | enter fn test_nested_if |
| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:161:9:165:9 | if ... {...} else {...} |
@@ -1258,18 +1208,14 @@ postDominance
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:326:5:332:5 | enter fn test_match |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:327:9:331:9 | match maybe_digit { ... } |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:328:26:328:26 | x |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:328:32:328:32 | x |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:328:42:328:42 | x |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:329:13:329:27 | ...::Some(...) |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:329:26:329:26 | x |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:329:32:329:32 | x |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:330:13:330:24 | ...::None |
| test.rs:328:26:328:26 | x | test.rs:328:26:328:26 | x |
| test.rs:328:32:328:32 | x | test.rs:328:32:328:32 | x |
| test.rs:328:42:328:42 | x | test.rs:328:42:328:42 | x |
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:329:13:329:27 | ...::Some(...) |
| test.rs:329:26:329:26 | x | test.rs:329:26:329:26 | x |
| test.rs:329:32:329:32 | x | test.rs:329:32:329:32 | x |
| test.rs:330:13:330:24 | ...::None | test.rs:330:13:330:24 | ...::None |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee |
| test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee |
@@ -1278,17 +1224,14 @@ postDominance
| test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | test.rs:336:13:336:21 | ExprStmt |
| test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | test.rs:338:13:338:23 | maybe_digit |
| test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | test.rs:340:26:340:26 | x |
| test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | test.rs:340:32:340:32 | x |
| test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | test.rs:341:13:341:24 | ...::None |
| test.rs:335:9:342:9 | match ... { ... } | test.rs:335:9:342:9 | match ... { ... } |
| test.rs:335:9:342:9 | match ... { ... } | test.rs:338:13:338:23 | maybe_digit |
| test.rs:335:9:342:9 | match ... { ... } | test.rs:340:26:340:26 | x |
| test.rs:335:9:342:9 | match ... { ... } | test.rs:340:32:340:32 | x |
| test.rs:335:9:342:9 | match ... { ... } | test.rs:341:13:341:24 | ...::None |
| test.rs:336:13:336:21 | ExprStmt | test.rs:336:13:336:21 | ExprStmt |
| test.rs:338:13:338:23 | maybe_digit | test.rs:338:13:338:23 | maybe_digit |
| test.rs:340:26:340:26 | x | test.rs:340:26:340:26 | x |
| test.rs:340:32:340:32 | x | test.rs:340:32:340:32 | x |
| test.rs:341:13:341:24 | ...::None | test.rs:341:13:341:24 | ...::None |
| test.rs:345:5:350:5 | enter fn test_match_and | test.rs:345:5:350:5 | enter fn test_match_and |
| test.rs:346:9:349:18 | ... && ... | test.rs:345:5:350:5 | enter fn test_match_and |
@@ -1296,14 +1239,12 @@ postDominance
| test.rs:346:9:349:18 | ... && ... | test.rs:346:10:349:9 | [boolean(false)] match r { ... } |
| test.rs:346:9:349:18 | ... && ... | test.rs:346:10:349:9 | [boolean(true)] match r { ... } |
| test.rs:346:9:349:18 | ... && ... | test.rs:347:18:347:18 | a |
| test.rs:346:9:349:18 | ... && ... | test.rs:347:24:347:24 | a |
| test.rs:346:9:349:18 | ... && ... | test.rs:348:13:348:13 | _ |
| test.rs:346:9:349:18 | ... && ... | test.rs:349:15:349:18 | cond |
| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:346:10:349:9 | [boolean(false)] match r { ... } |
| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:348:13:348:13 | _ |
| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:346:10:349:9 | [boolean(true)] match r { ... } |
| test.rs:347:18:347:18 | a | test.rs:347:18:347:18 | a |
| test.rs:347:24:347:24 | a | test.rs:347:24:347:24 | a |
| test.rs:348:13:348:13 | _ | test.rs:348:13:348:13 | _ |
| test.rs:349:15:349:18 | cond | test.rs:346:10:349:9 | [boolean(true)] match r { ... } |
| test.rs:349:15:349:18 | cond | test.rs:349:15:349:18 | cond |
@@ -1311,26 +1252,19 @@ postDominance
| test.rs:353:9:356:9 | match r { ... } | test.rs:352:5:357:5 | enter fn test_match_with_no_arms |
| test.rs:353:9:356:9 | match r { ... } | test.rs:353:9:356:9 | match r { ... } |
| test.rs:353:9:356:9 | match r { ... } | test.rs:354:16:354:20 | value |
| test.rs:353:9:356:9 | match r { ... } | test.rs:354:26:354:30 | value |
| test.rs:353:9:356:9 | match r { ... } | test.rs:355:13:355:22 | Err(...) |
| test.rs:354:16:354:20 | value | test.rs:354:16:354:20 | value |
| test.rs:354:26:354:30 | value | test.rs:354:26:354:30 | value |
| test.rs:355:13:355:22 | Err(...) | test.rs:355:13:355:22 | Err(...) |
| test.rs:362:5:365:5 | enter fn test_let_match | test.rs:362:5:365:5 | enter fn test_let_match |
| test.rs:363:18:363:18 | n | test.rs:362:5:365:5 | enter fn test_let_match |
| test.rs:363:18:363:18 | n | test.rs:363:18:363:18 | n |
| test.rs:363:39:363:53 | MacroStmts | test.rs:363:39:363:53 | MacroStmts |
| test.rs:364:9:364:9 | n | test.rs:362:5:365:5 | enter fn test_let_match |
| test.rs:364:9:364:9 | n | test.rs:363:18:363:18 | n |
| test.rs:364:9:364:9 | n | test.rs:364:9:364:9 | n |
| test.rs:367:5:373:5 | enter fn test_let_with_return | test.rs:367:5:373:5 | enter fn test_let_with_return |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:367:5:373:5 | enter fn test_let_with_return |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:367:5:373:5 | exit fn test_let_with_return (normal) |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:369:18:369:20 | ret |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:369:26:369:28 | ret |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:370:13:370:16 | None |
| test.rs:369:18:369:20 | ret | test.rs:369:18:369:20 | ret |
| test.rs:369:26:369:28 | ret | test.rs:369:26:369:28 | ret |
| test.rs:370:13:370:16 | None | test.rs:370:13:370:16 | None |
| test.rs:378:5:381:5 | enter fn empty_tuple_pattern | test.rs:378:5:381:5 | enter fn empty_tuple_pattern |
| test.rs:387:5:391:5 | enter fn empty_struct_pattern | test.rs:387:5:391:5 | enter fn empty_struct_pattern |
@@ -1435,10 +1369,8 @@ postDominance
| test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code |
| test.rs:461:9:464:9 | match pair { ... } | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code |
| test.rs:461:9:464:9 | match pair { ... } | test.rs:461:9:464:9 | match pair { ... } |
| test.rs:461:9:464:9 | match pair { ... } | test.rs:462:18:462:34 | MyStruct {...} |
| test.rs:461:9:464:9 | match pair { ... } | test.rs:462:32:462:32 | _ |
| test.rs:461:9:464:9 | match pair { ... } | test.rs:463:13:463:13 | _ |
| test.rs:462:18:462:34 | MyStruct {...} | test.rs:462:18:462:34 | MyStruct {...} |
| test.rs:462:32:462:32 | _ | test.rs:462:32:462:32 | _ |
| test.rs:463:13:463:13 | _ | test.rs:463:13:463:13 | _ |
| test.rs:475:5:481:5 | enter fn enum_pattern | test.rs:475:5:481:5 | enter fn enum_pattern |
@@ -1505,10 +1437,8 @@ postDominance
| test.rs:585:18:591:5 | 'block: { ... } | test.rs:585:18:591:5 | 'block: { ... } |
| test.rs:585:18:591:5 | 'block: { ... } | test.rs:587:18:587:18 | y |
| test.rs:585:18:591:5 | 'block: { ... } | test.rs:588:13:588:27 | ExprStmt |
| test.rs:585:18:591:5 | 'block: { ... } | test.rs:590:9:590:9 | 0 |
| test.rs:587:18:587:18 | y | test.rs:587:18:587:18 | y |
| test.rs:588:13:588:27 | ExprStmt | test.rs:588:13:588:27 | ExprStmt |
| test.rs:590:9:590:9 | 0 | test.rs:590:9:590:9 | 0 |
| test.rs:594:1:600:1 | enter fn test_nested_function2 | test.rs:594:1:600:1 | enter fn test_nested_function2 |
| test.rs:596:5:598:5 | enter fn nested | test.rs:596:5:598:5 | enter fn nested |
| test.rs:611:5:613:5 | enter fn new | test.rs:611:5:613:5 | enter fn new |
@@ -1551,9 +1481,8 @@ immediateDominator
| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:15:99:39 | let ... = ... |
| test.rs:99:15:99:39 | let ... = ... | test.rs:97:5:104:5 | enter fn test_while_let |
| test.rs:99:24:99:24 | x | test.rs:99:15:99:39 | let ... = ... |
| test.rs:100:13:102:13 | if ... {...} | test.rs:100:17:100:17 | x |
| test.rs:100:17:100:17 | x | test.rs:99:24:99:24 | x |
| test.rs:101:17:101:22 | ExprStmt | test.rs:100:17:100:17 | x |
| test.rs:100:13:102:13 | if ... {...} | test.rs:99:24:99:24 | x |
| test.rs:101:17:101:22 | ExprStmt | test.rs:99:24:99:24 | x |
| test.rs:107:9:112:9 | for ... in ... { ... } | test.rs:107:13:107:13 | i |
| test.rs:107:13:107:13 | i | test.rs:106:5:113:5 | enter fn test_for |
| test.rs:108:13:110:13 | ExprStmt | test.rs:107:13:107:13 | i |
@@ -1566,12 +1495,10 @@ immediateDominator
| test.rs:140:13:140:19 | ExprStmt | test.rs:137:5:143:5 | enter fn test_if_without_else |
| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:145:5:151:5 | enter fn test_if_let_else |
| test.rs:146:21:146:21 | n | test.rs:145:5:151:5 | enter fn test_if_let_else |
| test.rs:147:13:147:13 | n | test.rs:146:21:146:21 | n |
| test.rs:149:13:149:13 | 0 | test.rs:145:5:151:5 | enter fn test_if_let_else |
| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:153:5:158:5 | enter fn test_if_let |
| test.rs:154:9:156:9 | if ... {...} | test.rs:153:5:158:5 | enter fn test_if_let |
| test.rs:154:21:154:21 | n | test.rs:153:5:158:5 | enter fn test_if_let |
| test.rs:155:13:155:21 | ExprStmt | test.rs:154:21:154:21 | n |
| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:160:5:166:5 | enter fn test_nested_if |
| test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | test.rs:160:5:166:5 | enter fn test_nested_if |
| test.rs:161:13:161:48 | [boolean(true)] if ... {...} else {...} | test.rs:160:5:166:5 | enter fn test_nested_if |
@@ -1682,36 +1609,29 @@ immediateDominator
| test.rs:318:13:318:17 | false | test.rs:317:13:317:16 | true |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:326:5:332:5 | enter fn test_match |
| test.rs:328:26:328:26 | x | test.rs:326:5:332:5 | enter fn test_match |
| test.rs:328:32:328:32 | x | test.rs:328:26:328:26 | x |
| test.rs:328:42:328:42 | x | test.rs:328:32:328:32 | x |
| test.rs:328:42:328:42 | x | test.rs:328:26:328:26 | x |
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:326:5:332:5 | enter fn test_match |
| test.rs:329:26:329:26 | x | test.rs:329:13:329:27 | ...::Some(...) |
| test.rs:329:32:329:32 | x | test.rs:329:26:329:26 | x |
| test.rs:330:13:330:24 | ...::None | test.rs:329:13:329:27 | ...::Some(...) |
| test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee |
| test.rs:335:9:342:9 | match ... { ... } | test.rs:338:13:338:23 | maybe_digit |
| test.rs:336:13:336:21 | ExprStmt | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee |
| test.rs:338:13:338:23 | maybe_digit | test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee |
| test.rs:340:26:340:26 | x | test.rs:338:13:338:23 | maybe_digit |
| test.rs:340:32:340:32 | x | test.rs:340:26:340:26 | x |
| test.rs:341:13:341:24 | ...::None | test.rs:338:13:338:23 | maybe_digit |
| test.rs:346:9:349:18 | ... && ... | test.rs:345:5:350:5 | enter fn test_match_and |
| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:345:5:350:5 | enter fn test_match_and |
| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:347:24:347:24 | a |
| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:347:18:347:18 | a |
| test.rs:347:18:347:18 | a | test.rs:345:5:350:5 | enter fn test_match_and |
| test.rs:347:24:347:24 | a | test.rs:347:18:347:18 | a |
| test.rs:348:13:348:13 | _ | test.rs:345:5:350:5 | enter fn test_match_and |
| test.rs:349:15:349:18 | cond | test.rs:346:10:349:9 | [boolean(true)] match r { ... } |
| test.rs:353:9:356:9 | match r { ... } | test.rs:352:5:357:5 | enter fn test_match_with_no_arms |
| test.rs:354:16:354:20 | value | test.rs:352:5:357:5 | enter fn test_match_with_no_arms |
| test.rs:354:26:354:30 | value | test.rs:354:16:354:20 | value |
| test.rs:355:13:355:22 | Err(...) | test.rs:352:5:357:5 | enter fn test_match_with_no_arms |
| test.rs:363:18:363:18 | n | test.rs:362:5:365:5 | enter fn test_let_match |
| test.rs:363:39:363:53 | MacroStmts | test.rs:362:5:365:5 | enter fn test_let_match |
| test.rs:364:9:364:9 | n | test.rs:363:18:363:18 | n |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:367:5:373:5 | enter fn test_let_with_return |
| test.rs:369:18:369:20 | ret | test.rs:367:5:373:5 | enter fn test_let_with_return |
| test.rs:369:26:369:28 | ret | test.rs:369:18:369:20 | ret |
| test.rs:370:13:370:16 | None | test.rs:367:5:373:5 | enter fn test_let_with_return |
| test.rs:394:9:397:9 | match st { ... } | test.rs:393:5:398:5 | enter fn struct_pattern |
| test.rs:395:27:395:27 | 1 | test.rs:393:5:398:5 | enter fn struct_pattern |
@@ -1757,8 +1677,7 @@ immediateDominator
| test.rs:455:30:455:30 | 3 | test.rs:455:13:455:25 | [match(true)] 1 \| 2 |
| test.rs:456:13:456:13 | _ | test.rs:455:13:455:25 | [match(false)] 1 \| 2 |
| test.rs:461:9:464:9 | match pair { ... } | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code |
| test.rs:462:18:462:34 | MyStruct {...} | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code |
| test.rs:462:32:462:32 | _ | test.rs:462:18:462:34 | MyStruct {...} |
| test.rs:462:32:462:32 | _ | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code |
| test.rs:463:13:463:13 | _ | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code |
| test.rs:476:9:480:9 | match e { ... } | test.rs:475:5:481:5 | enter fn enum_pattern |
| test.rs:477:32:477:32 | _ | test.rs:475:5:481:5 | enter fn enum_pattern |
@@ -1783,7 +1702,6 @@ immediateDominator
| test.rs:585:18:591:5 | 'block: { ... } | test.rs:584:1:592:1 | enter fn labelled_block2 |
| test.rs:587:18:587:18 | y | test.rs:584:1:592:1 | enter fn labelled_block2 |
| test.rs:588:13:588:27 | ExprStmt | test.rs:584:1:592:1 | enter fn labelled_block2 |
| test.rs:590:9:590:9 | 0 | test.rs:587:18:587:18 | y |
controls
| test.rs:18:5:24:5 | enter fn next | test.rs:20:13:20:13 | n | true |
| test.rs:18:5:24:5 | enter fn next | test.rs:22:13:22:13 | 3 | false |
@@ -1822,8 +1740,8 @@ controls
| test.rs:88:15:88:15 | b | test.rs:91:17:91:22 | ExprStmt | true |
| test.rs:89:13:89:14 | ExprStmt | test.rs:90:13:92:13 | if ... {...} | false |
| test.rs:89:13:89:14 | ExprStmt | test.rs:91:17:91:22 | ExprStmt | true |
| test.rs:100:17:100:17 | x | test.rs:100:13:102:13 | if ... {...} | false |
| test.rs:100:17:100:17 | x | test.rs:101:17:101:22 | ExprStmt | true |
| test.rs:99:24:99:24 | x | test.rs:100:13:102:13 | if ... {...} | false |
| test.rs:99:24:99:24 | x | test.rs:101:17:101:22 | ExprStmt | true |
| test.rs:108:13:110:13 | ExprStmt | test.rs:108:13:110:13 | if ... {...} | false |
| test.rs:108:13:110:13 | ExprStmt | test.rs:109:17:109:22 | ExprStmt | true |
| test.rs:129:5:135:5 | enter fn test_if_else | test.rs:131:13:131:13 | 0 | true |
@@ -1964,16 +1882,15 @@ controls
| test.rs:301:13:301:21 | [boolean(true)] ... && ... | test.rs:302:13:302:21 | ExprStmt | true |
| test.rs:301:18:301:21 | true | test.rs:301:13:301:21 | [boolean(true)] ... && ... | true |
| test.rs:301:18:301:21 | true | test.rs:302:13:302:21 | ExprStmt | true |
| test.rs:328:32:328:32 | x | test.rs:328:42:328:42 | x | true |
| test.rs:328:26:328:26 | x | test.rs:328:42:328:42 | x | true |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:335:9:342:9 | match ... { ... } | false |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:336:13:336:21 | ExprStmt | true |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:338:13:338:23 | maybe_digit | false |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:340:26:340:26 | x | false |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:340:32:340:32 | x | false |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:341:13:341:24 | ...::None | false |
| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:349:15:349:18 | cond | true |
| test.rs:347:24:347:24 | a | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | true |
| test.rs:347:24:347:24 | a | test.rs:349:15:349:18 | cond | true |
| test.rs:347:18:347:18 | a | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | true |
| test.rs:347:18:347:18 | a | test.rs:349:15:349:18 | cond | true |
| test.rs:511:28:516:9 | enter { ... } | test.rs:512:13:514:13 | if b {...} | false |
| test.rs:511:28:516:9 | enter { ... } | test.rs:513:17:513:41 | ExprStmt | true |
| test.rs:529:5:537:5 | enter fn const_block_assert | test.rs:533:13:533:49 | ExprStmt | false |
@@ -2013,8 +1930,8 @@ successor
| test.rs:88:15:88:15 | b | test.rs:89:13:89:14 | ExprStmt | true |
| test.rs:89:13:89:14 | ExprStmt | test.rs:90:13:92:13 | if ... {...} | false |
| test.rs:89:13:89:14 | ExprStmt | test.rs:91:17:91:22 | ExprStmt | true |
| test.rs:100:17:100:17 | x | test.rs:100:13:102:13 | if ... {...} | false |
| test.rs:100:17:100:17 | x | test.rs:101:17:101:22 | ExprStmt | true |
| test.rs:99:24:99:24 | x | test.rs:100:13:102:13 | if ... {...} | false |
| test.rs:99:24:99:24 | x | test.rs:101:17:101:22 | ExprStmt | true |
| test.rs:108:13:110:13 | ExprStmt | test.rs:108:13:110:13 | if ... {...} | false |
| test.rs:108:13:110:13 | ExprStmt | test.rs:109:17:109:22 | ExprStmt | true |
| test.rs:129:5:135:5 | enter fn test_if_else | test.rs:131:13:131:13 | 0 | true |
@@ -2114,14 +2031,14 @@ successor
| test.rs:301:13:301:21 | [boolean(false)] ... && ... | test.rs:301:9:303:9 | if ... {...} | false |
| test.rs:301:13:301:21 | [boolean(true)] ... && ... | test.rs:302:13:302:21 | ExprStmt | true |
| test.rs:301:18:301:21 | true | test.rs:301:13:301:21 | [boolean(true)] ... && ... | true |
| test.rs:328:32:328:32 | x | test.rs:328:42:328:42 | x | true |
| test.rs:328:32:328:32 | x | test.rs:329:13:329:27 | ...::Some(...) | false |
| test.rs:328:26:328:26 | x | test.rs:328:42:328:42 | x | true |
| test.rs:328:26:328:26 | x | test.rs:329:13:329:27 | ...::Some(...) | false |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:336:13:336:21 | ExprStmt | true |
| test.rs:334:5:343:5 | enter fn test_match_with_return_in_scrutinee | test.rs:338:13:338:23 | maybe_digit | false |
| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:346:9:349:18 | ... && ... | false |
| test.rs:346:10:349:9 | [boolean(true)] match r { ... } | test.rs:349:15:349:18 | cond | true |
| test.rs:347:24:347:24 | a | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | false |
| test.rs:347:24:347:24 | a | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | true |
| test.rs:347:18:347:18 | a | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | false |
| test.rs:347:18:347:18 | a | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | true |
| test.rs:348:13:348:13 | _ | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | false |
| test.rs:511:28:516:9 | enter { ... } | test.rs:512:13:514:13 | if b {...} | false |
| test.rs:511:28:516:9 | enter { ... } | test.rs:513:17:513:41 | ExprStmt | true |
@@ -2160,9 +2077,8 @@ joinBlockPredecessor
| test.rs:88:9:94:9 | while b { ... } | test.rs:91:17:91:22 | ExprStmt | 1 |
| test.rs:88:15:88:15 | b | test.rs:86:5:95:5 | enter fn test_while | 1 |
| test.rs:88:15:88:15 | b | test.rs:90:13:92:13 | if ... {...} | 0 |
| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:15:99:39 | let ... = ... | 1 |
| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:24:99:24 | x | 0 |
| test.rs:99:9:103:9 | while ... { ... } | test.rs:101:17:101:22 | ExprStmt | 2 |
| test.rs:99:9:103:9 | while ... { ... } | test.rs:99:15:99:39 | let ... = ... | 0 |
| test.rs:99:9:103:9 | while ... { ... } | test.rs:101:17:101:22 | ExprStmt | 1 |
| test.rs:99:15:99:39 | let ... = ... | test.rs:97:5:104:5 | enter fn test_while_let | 1 |
| test.rs:99:15:99:39 | let ... = ... | test.rs:100:13:102:13 | if ... {...} | 0 |
| test.rs:107:9:112:9 | for ... in ... { ... } | test.rs:107:13:107:13 | i | 1 |
@@ -2173,14 +2089,10 @@ joinBlockPredecessor
| test.rs:130:9:134:9 | if ... {...} else {...} | test.rs:133:13:133:13 | n | 0 |
| test.rs:139:9:141:9 | if b {...} | test.rs:137:5:143:5 | enter fn test_if_without_else | 1 |
| test.rs:139:9:141:9 | if b {...} | test.rs:140:13:140:19 | ExprStmt | 0 |
| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:147:13:147:13 | n | 1 |
| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:149:13:149:13 | 0 | 0 |
| test.rs:149:13:149:13 | 0 | test.rs:145:5:151:5 | enter fn test_if_let_else | 1 |
| test.rs:149:13:149:13 | 0 | test.rs:146:21:146:21 | n | 0 |
| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:146:21:146:21 | n | 0 |
| test.rs:146:9:150:9 | if ... {...} else {...} | test.rs:149:13:149:13 | 0 | 1 |
| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:154:9:156:9 | if ... {...} | 1 |
| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:155:13:155:21 | ExprStmt | 0 |
| test.rs:154:9:156:9 | if ... {...} | test.rs:153:5:158:5 | enter fn test_if_let | 1 |
| test.rs:154:9:156:9 | if ... {...} | test.rs:154:21:154:21 | n | 0 |
| test.rs:153:5:158:5 | exit fn test_if_let (normal) | test.rs:154:21:154:21 | n | 0 |
| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:162:13:162:13 | 1 | 1 |
| test.rs:161:9:165:9 | if ... {...} else {...} | test.rs:164:13:164:13 | 0 | 0 |
| test.rs:161:13:161:48 | [boolean(false)] if ... {...} else {...} | test.rs:161:22:161:32 | [boolean(false)] { ... } | 1 |
@@ -2244,35 +2156,22 @@ joinBlockPredecessor
| test.rs:316:9:319:9 | match ... { ... } | test.rs:317:21:317:24 | Some | 0 |
| test.rs:316:9:319:9 | match ... { ... } | test.rs:318:13:318:17 | false | 1 |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:328:42:328:42 | x | 0 |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:329:32:329:32 | x | 1 |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:329:26:329:26 | x | 1 |
| test.rs:327:9:331:9 | match maybe_digit { ... } | test.rs:330:13:330:24 | ...::None | 2 |
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:326:5:332:5 | enter fn test_match | 2 |
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:328:26:328:26 | x | 1 |
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:328:32:328:32 | x | 0 |
| test.rs:330:13:330:24 | ...::None | test.rs:329:13:329:27 | ...::Some(...) | 1 |
| test.rs:330:13:330:24 | ...::None | test.rs:329:26:329:26 | x | 0 |
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:326:5:332:5 | enter fn test_match | 1 |
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:328:26:328:26 | x | 0 |
| test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | test.rs:335:9:342:9 | match ... { ... } | 1 |
| test.rs:334:5:343:5 | exit fn test_match_with_return_in_scrutinee (normal) | test.rs:336:13:336:21 | ExprStmt | 0 |
| test.rs:335:9:342:9 | match ... { ... } | test.rs:340:32:340:32 | x | 0 |
| test.rs:335:9:342:9 | match ... { ... } | test.rs:340:26:340:26 | x | 0 |
| test.rs:335:9:342:9 | match ... { ... } | test.rs:341:13:341:24 | ...::None | 1 |
| test.rs:341:13:341:24 | ...::None | test.rs:338:13:338:23 | maybe_digit | 0 |
| test.rs:341:13:341:24 | ...::None | test.rs:340:26:340:26 | x | 1 |
| test.rs:346:9:349:18 | ... && ... | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | 0 |
| test.rs:346:9:349:18 | ... && ... | test.rs:349:15:349:18 | cond | 1 |
| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:347:24:347:24 | a | 0 |
| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:347:18:347:18 | a | 0 |
| test.rs:346:10:349:9 | [boolean(false)] match r { ... } | test.rs:348:13:348:13 | _ | 1 |
| test.rs:348:13:348:13 | _ | test.rs:345:5:350:5 | enter fn test_match_and | 1 |
| test.rs:348:13:348:13 | _ | test.rs:347:18:347:18 | a | 0 |
| test.rs:353:9:356:9 | match r { ... } | test.rs:354:26:354:30 | value | 0 |
| test.rs:353:9:356:9 | match r { ... } | test.rs:354:16:354:20 | value | 0 |
| test.rs:353:9:356:9 | match r { ... } | test.rs:355:13:355:22 | Err(...) | 1 |
| test.rs:355:13:355:22 | Err(...) | test.rs:352:5:357:5 | enter fn test_match_with_no_arms | 1 |
| test.rs:355:13:355:22 | Err(...) | test.rs:354:16:354:20 | value | 0 |
| test.rs:363:39:363:53 | MacroStmts | test.rs:362:5:365:5 | enter fn test_let_match | 1 |
| test.rs:363:39:363:53 | MacroStmts | test.rs:363:18:363:18 | n | 0 |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:369:26:369:28 | ret | 0 |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:369:18:369:20 | ret | 0 |
| test.rs:367:5:373:5 | exit fn test_let_with_return (normal) | test.rs:370:13:370:16 | None | 1 |
| test.rs:370:13:370:16 | None | test.rs:367:5:373:5 | enter fn test_let_with_return | 1 |
| test.rs:370:13:370:16 | None | test.rs:369:18:369:20 | ret | 0 |
| test.rs:394:9:397:9 | match st { ... } | test.rs:395:34:395:34 | 0 | 0 |
| test.rs:394:9:397:9 | match st { ... } | test.rs:396:13:396:26 | MyStruct {...} | 1 |
| test.rs:396:13:396:26 | MyStruct {...} | test.rs:393:5:398:5 | enter fn struct_pattern | 1 |
@@ -2313,8 +2212,6 @@ joinBlockPredecessor
| test.rs:455:13:455:25 | one_or_two!... | test.rs:455:13:455:25 | [match(true)] 1 \| 2 | 1 |
| test.rs:461:9:464:9 | match pair { ... } | test.rs:462:32:462:32 | _ | 0 |
| test.rs:461:9:464:9 | match pair { ... } | test.rs:463:13:463:13 | _ | 1 |
| test.rs:463:13:463:13 | _ | test.rs:460:5:465:5 | enter fn irrefutable_pattern_and_dead_code | 1 |
| test.rs:463:13:463:13 | _ | test.rs:462:18:462:34 | MyStruct {...} | 0 |
| test.rs:476:9:480:9 | match e { ... } | test.rs:477:32:477:32 | _ | 0 |
| test.rs:476:9:480:9 | match e { ... } | test.rs:478:26:478:26 | _ | 1 |
| test.rs:476:9:480:9 | match e { ... } | test.rs:479:13:479:23 | UnitVariant | 2 |
@@ -2327,7 +2224,5 @@ joinBlockPredecessor
| test.rs:569:18:580:5 | 'block: { ... } | test.rs:572:13:572:27 | ExprStmt | 0 |
| test.rs:569:18:580:5 | 'block: { ... } | test.rs:575:9:577:9 | if ... {...} | 2 |
| test.rs:569:18:580:5 | 'block: { ... } | test.rs:576:13:576:27 | ExprStmt | 1 |
| test.rs:585:18:591:5 | 'block: { ... } | test.rs:587:18:587:18 | y | 1 |
| test.rs:585:18:591:5 | 'block: { ... } | test.rs:588:13:588:27 | ExprStmt | 0 |
| test.rs:585:18:591:5 | 'block: { ... } | test.rs:590:9:590:9 | 0 | 1 |
| test.rs:588:13:588:27 | ExprStmt | test.rs:584:1:592:1 | enter fn labelled_block2 | 1 |
| test.rs:588:13:588:27 | ExprStmt | test.rs:587:18:587:18 | y | 0 |

View File

@@ -203,7 +203,6 @@ edges
| test.rs:99:15:99:39 | let ... = ... | test.rs:99:29:99:32 | iter | |
| test.rs:99:19:99:25 | Some(...) | test.rs:99:9:103:9 | while ... { ... } | no-match |
| test.rs:99:19:99:25 | Some(...) | test.rs:99:24:99:24 | x | match |
| test.rs:99:24:99:24 | x | test.rs:99:9:103:9 | while ... { ... } | no-match |
| test.rs:99:24:99:24 | x | test.rs:99:24:99:24 | x | |
| test.rs:99:24:99:24 | x | test.rs:100:17:100:17 | x | match |
| test.rs:99:29:99:32 | iter | test.rs:99:29:99:39 | iter.next(...) | |
@@ -317,7 +316,6 @@ edges
| test.rs:146:16:146:22 | Some(...) | test.rs:149:13:149:13 | 0 | no-match |
| test.rs:146:21:146:21 | n | test.rs:146:21:146:21 | n | |
| test.rs:146:21:146:21 | n | test.rs:147:13:147:13 | n | match |
| test.rs:146:21:146:21 | n | test.rs:149:13:149:13 | 0 | no-match |
| test.rs:146:26:146:26 | a | test.rs:146:16:146:22 | Some(...) | |
| test.rs:146:28:148:9 | { ... } | test.rs:146:9:150:9 | if ... {...} else {...} | |
| test.rs:147:13:147:13 | n | test.rs:146:28:148:9 | { ... } | |
@@ -334,7 +332,6 @@ edges
| test.rs:154:12:154:26 | let ... = a | test.rs:154:26:154:26 | a | |
| test.rs:154:16:154:22 | Some(...) | test.rs:154:9:156:9 | if ... {...} | no-match |
| test.rs:154:16:154:22 | Some(...) | test.rs:154:21:154:21 | n | match |
| test.rs:154:21:154:21 | n | test.rs:154:9:156:9 | if ... {...} | no-match |
| test.rs:154:21:154:21 | n | test.rs:154:21:154:21 | n | |
| test.rs:154:21:154:21 | n | test.rs:155:13:155:21 | ExprStmt | match |
| test.rs:154:26:154:26 | a | test.rs:154:16:154:22 | Some(...) | |
@@ -802,7 +799,6 @@ edges
| test.rs:328:13:328:27 | ...::Some(...) | test.rs:329:13:329:27 | ...::Some(...) | no-match |
| test.rs:328:26:328:26 | x | test.rs:328:26:328:26 | x | |
| test.rs:328:26:328:26 | x | test.rs:328:32:328:32 | x | match |
| test.rs:328:26:328:26 | x | test.rs:329:13:329:27 | ...::Some(...) | no-match |
| test.rs:328:32:328:32 | x | test.rs:328:36:328:37 | 10 | |
| test.rs:328:32:328:37 | ... < ... | test.rs:328:42:328:42 | x | true |
| test.rs:328:32:328:37 | ... < ... | test.rs:329:13:329:27 | ...::Some(...) | false |
@@ -814,7 +810,6 @@ edges
| test.rs:329:13:329:27 | ...::Some(...) | test.rs:330:13:330:24 | ...::None | no-match |
| test.rs:329:26:329:26 | x | test.rs:329:26:329:26 | x | |
| test.rs:329:26:329:26 | x | test.rs:329:32:329:32 | x | match |
| test.rs:329:26:329:26 | x | test.rs:330:13:330:24 | ...::None | no-match |
| test.rs:329:32:329:32 | x | test.rs:327:9:331:9 | match maybe_digit { ... } | |
| test.rs:330:13:330:24 | ...::None | test.rs:330:29:330:29 | 5 | match |
| test.rs:330:29:330:29 | 5 | test.rs:327:9:331:9 | match maybe_digit { ... } | |
@@ -841,7 +836,6 @@ edges
| test.rs:340:13:340:27 | ...::Some(...) | test.rs:341:13:341:24 | ...::None | no-match |
| test.rs:340:26:340:26 | x | test.rs:340:26:340:26 | x | |
| test.rs:340:26:340:26 | x | test.rs:340:32:340:32 | x | match |
| test.rs:340:26:340:26 | x | test.rs:341:13:341:24 | ...::None | no-match |
| test.rs:340:32:340:32 | x | test.rs:340:36:340:36 | 5 | |
| test.rs:340:32:340:36 | ... + ... | test.rs:335:9:342:9 | match ... { ... } | |
| test.rs:340:36:340:36 | 5 | test.rs:340:32:340:36 | ... + ... | |
@@ -864,7 +858,6 @@ edges
| test.rs:347:13:347:19 | Some(...) | test.rs:348:13:348:13 | _ | no-match |
| test.rs:347:18:347:18 | a | test.rs:347:18:347:18 | a | |
| test.rs:347:18:347:18 | a | test.rs:347:24:347:24 | a | match |
| test.rs:347:18:347:18 | a | test.rs:348:13:348:13 | _ | no-match |
| test.rs:347:24:347:24 | a | test.rs:346:10:349:9 | [boolean(false)] match r { ... } | false |
| test.rs:347:24:347:24 | a | test.rs:346:10:349:9 | [boolean(true)] match r { ... } | true |
| test.rs:348:13:348:13 | _ | test.rs:348:18:348:22 | false | match |
@@ -882,7 +875,6 @@ edges
| test.rs:354:13:354:21 | Ok(...) | test.rs:355:13:355:22 | Err(...) | no-match |
| test.rs:354:16:354:20 | value | test.rs:354:16:354:20 | value | |
| test.rs:354:16:354:20 | value | test.rs:354:26:354:30 | value | match |
| test.rs:354:16:354:20 | value | test.rs:355:13:355:22 | Err(...) | no-match |
| test.rs:354:26:354:30 | value | test.rs:353:9:356:9 | match r { ... } | |
| test.rs:355:13:355:22 | Err(...) | test.rs:355:17:355:21 | never | match |
| test.rs:355:17:355:21 | never | test.rs:355:17:355:21 | never | |
@@ -899,7 +891,6 @@ edges
| test.rs:363:13:363:19 | Some(...) | test.rs:363:18:363:18 | n | match |
| test.rs:363:13:363:19 | Some(...) | test.rs:363:39:363:53 | MacroStmts | no-match |
| test.rs:363:18:363:18 | n | test.rs:363:18:363:18 | n | |
| test.rs:363:18:363:18 | n | test.rs:363:39:363:53 | MacroStmts | no-match |
| test.rs:363:18:363:18 | n | test.rs:364:9:364:9 | n | match |
| test.rs:363:23:363:23 | a | test.rs:363:13:363:19 | Some(...) | |
| test.rs:363:32:363:54 | ...::panic_fmt | test.rs:363:39:363:53 | "Expected some" | |
@@ -932,7 +923,6 @@ edges
| test.rs:369:13:369:21 | Some(...) | test.rs:370:13:370:16 | None | no-match |
| test.rs:369:18:369:20 | ret | test.rs:369:18:369:20 | ret | |
| test.rs:369:18:369:20 | ret | test.rs:369:26:369:28 | ret | match |
| test.rs:369:18:369:20 | ret | test.rs:370:13:370:16 | None | no-match |
| test.rs:369:26:369:28 | ret | test.rs:368:19:371:9 | match m { ... } | |
| test.rs:370:13:370:16 | None | test.rs:370:13:370:16 | None | |
| test.rs:370:13:370:16 | None | test.rs:370:28:370:32 | false | match |
@@ -1158,7 +1148,6 @@ edges
| test.rs:462:14:462:35 | TuplePat | test.rs:462:15:462:15 | n | match |
| test.rs:462:15:462:15 | n | test.rs:462:15:462:15 | n | |
| test.rs:462:15:462:15 | n | test.rs:462:18:462:34 | MyStruct {...} | match |
| test.rs:462:15:462:15 | n | test.rs:463:13:463:13 | _ | no-match |
| test.rs:462:18:462:34 | MyStruct {...} | test.rs:462:32:462:32 | _ | match |
| test.rs:462:18:462:34 | MyStruct {...} | test.rs:463:13:463:13 | _ | no-match |
| test.rs:462:32:462:32 | _ | test.rs:462:40:462:40 | n | match |
@@ -1409,7 +1398,6 @@ edges
| test.rs:587:13:587:19 | Some(...) | test.rs:587:18:587:18 | y | match |
| test.rs:587:13:587:19 | Some(...) | test.rs:588:13:588:27 | ExprStmt | no-match |
| test.rs:587:18:587:18 | y | test.rs:587:18:587:18 | y | |
| test.rs:587:18:587:18 | y | test.rs:588:13:588:27 | ExprStmt | no-match |
| test.rs:587:18:587:18 | y | test.rs:590:9:590:9 | 0 | match |
| test.rs:587:23:587:23 | x | test.rs:587:13:587:19 | Some(...) | |
| test.rs:588:13:588:26 | break ''block 1 | test.rs:585:18:591:5 | 'block: { ... } | break |

View File

@@ -221,7 +221,6 @@ edges
| main.rs:87:8:88:12 | let ... = s1 | main.rs:88:11:88:12 | s1 | |
| main.rs:87:12:87:23 | Some(...) | main.rs:87:5:90:5 | if ... {...} | no-match |
| main.rs:87:12:87:23 | Some(...) | main.rs:87:21:87:22 | s2 | match |
| main.rs:87:17:87:22 | ref s2 | main.rs:87:5:90:5 | if ... {...} | no-match |
| main.rs:87:17:87:22 | ref s2 | main.rs:89:9:89:22 | ExprStmt | match |
| main.rs:87:21:87:22 | s2 | main.rs:87:17:87:22 | ref s2 | |
| main.rs:88:11:88:12 | s1 | main.rs:87:12:87:23 | Some(...) | |
@@ -237,7 +236,6 @@ edges
| main.rs:94:9:94:16 | Some(...) | main.rs:94:14:94:15 | x5 | match |
| main.rs:94:9:94:16 | Some(...) | main.rs:96:13:96:19 | MacroStmts | no-match |
| main.rs:94:14:94:15 | x5 | main.rs:94:14:94:15 | x5 | |
| main.rs:94:14:94:15 | x5 | main.rs:96:13:96:19 | MacroStmts | no-match |
| main.rs:94:14:94:15 | x5 | main.rs:98:5:98:18 | ExprStmt | match |
| main.rs:94:34:94:37 | Some | main.rs:94:39:94:42 | "x5" | |
| main.rs:94:34:94:43 | Some(...) | main.rs:94:9:94:16 | Some(...) | |
@@ -267,7 +265,6 @@ edges
| main.rs:104:11:105:12 | let ... = s1 | main.rs:105:11:105:12 | s1 | |
| main.rs:104:15:104:26 | Some(...) | main.rs:104:5:107:5 | while ... { ... } | no-match |
| main.rs:104:15:104:26 | Some(...) | main.rs:104:24:104:25 | s2 | match |
| main.rs:104:20:104:25 | ref s2 | main.rs:104:5:107:5 | while ... { ... } | no-match |
| main.rs:104:20:104:25 | ref s2 | main.rs:106:9:106:22 | ExprStmt | match |
| main.rs:104:24:104:25 | s2 | main.rs:104:20:104:25 | ref s2 | |
| main.rs:105:11:105:12 | s1 | main.rs:104:15:104:26 | Some(...) | |
@@ -304,7 +301,6 @@ edges
| main.rs:116:9:116:16 | Some(...) | main.rs:121:9:121:12 | None | no-match |
| main.rs:116:14:116:15 | y1 | main.rs:116:14:116:15 | y1 | |
| main.rs:116:14:116:15 | y1 | main.rs:119:13:119:21 | print_i64 | match |
| main.rs:116:14:116:15 | y1 | main.rs:121:9:121:12 | None | no-match |
| main.rs:118:9:120:9 | { ... } | main.rs:114:5:122:5 | match x6 { ... } | |
| main.rs:119:13:119:21 | print_i64 | main.rs:119:23:119:24 | y1 | |
| main.rs:119:13:119:25 | print_i64(...) | main.rs:118:9:120:9 | { ... } | |
@@ -457,7 +453,6 @@ edges
| main.rs:191:9:191:44 | ... \| ... | main.rs:192:16:192:24 | print_i64 | match |
| main.rs:191:22:191:23 | a3 | main.rs:191:9:191:44 | ... \| ... | match |
| main.rs:191:22:191:23 | a3 | main.rs:191:22:191:23 | a3 | |
| main.rs:191:22:191:23 | a3 | main.rs:191:28:191:44 | ...::Right(...) | no-match |
| main.rs:191:28:191:44 | ...::Right(...) | main.rs:191:42:191:43 | a3 | match |
| main.rs:191:42:191:43 | a3 | main.rs:191:9:191:44 | ... \| ... | match |
| main.rs:191:42:191:43 | a3 | main.rs:191:42:191:43 | a3 | |
@@ -481,12 +476,10 @@ edges
| main.rs:205:9:205:81 | ... \| ... \| ... | main.rs:206:16:206:24 | print_i64 | match |
| main.rs:205:28:205:29 | a4 | main.rs:205:9:205:81 | ... \| ... \| ... | match |
| main.rs:205:28:205:29 | a4 | main.rs:205:28:205:29 | a4 | |
| main.rs:205:28:205:29 | a4 | main.rs:205:34:205:56 | ...::Second(...) | no-match |
| main.rs:205:34:205:56 | ...::Second(...) | main.rs:205:54:205:55 | a4 | match |
| main.rs:205:34:205:56 | ...::Second(...) | main.rs:205:60:205:81 | ...::Third(...) | no-match |
| main.rs:205:54:205:55 | a4 | main.rs:205:9:205:81 | ... \| ... \| ... | match |
| main.rs:205:54:205:55 | a4 | main.rs:205:54:205:55 | a4 | |
| main.rs:205:54:205:55 | a4 | main.rs:205:60:205:81 | ...::Third(...) | no-match |
| main.rs:205:60:205:81 | ...::Third(...) | main.rs:205:79:205:80 | a4 | match |
| main.rs:205:79:205:80 | a4 | main.rs:205:9:205:81 | ... \| ... \| ... | match |
| main.rs:205:79:205:80 | a4 | main.rs:205:79:205:80 | a4 | |
@@ -503,10 +496,8 @@ edges
| main.rs:209:10:209:57 | [match(true)] ... \| ... | main.rs:209:9:209:83 | ... \| ... | match |
| main.rs:209:29:209:30 | a5 | main.rs:209:10:209:57 | [match(true)] ... \| ... | match |
| main.rs:209:29:209:30 | a5 | main.rs:209:29:209:30 | a5 | |
| main.rs:209:29:209:30 | a5 | main.rs:209:35:209:57 | ...::Second(...) | no-match |
| main.rs:209:35:209:57 | ...::Second(...) | main.rs:209:10:209:57 | [match(false)] ... \| ... | no-match |
| main.rs:209:35:209:57 | ...::Second(...) | main.rs:209:55:209:56 | a5 | match |
| main.rs:209:55:209:56 | a5 | main.rs:209:10:209:57 | [match(false)] ... \| ... | no-match |
| main.rs:209:55:209:56 | a5 | main.rs:209:10:209:57 | [match(true)] ... \| ... | match |
| main.rs:209:55:209:56 | a5 | main.rs:209:55:209:56 | a5 | |
| main.rs:209:62:209:83 | ...::Third(...) | main.rs:209:81:209:82 | a5 | match |
@@ -522,13 +513,11 @@ edges
| main.rs:213:9:213:83 | ... \| ... | main.rs:214:16:214:24 | print_i64 | match |
| main.rs:213:28:213:29 | a6 | main.rs:213:9:213:83 | ... \| ... | match |
| main.rs:213:28:213:29 | a6 | main.rs:213:28:213:29 | a6 | |
| main.rs:213:28:213:29 | a6 | main.rs:213:35:213:57 | ...::Second(...) | no-match |
| main.rs:213:35:213:57 | ...::Second(...) | main.rs:213:55:213:56 | a6 | match |
| main.rs:213:35:213:57 | ...::Second(...) | main.rs:213:61:213:82 | ...::Third(...) | no-match |
| main.rs:213:35:213:82 | ... \| ... | main.rs:213:9:213:83 | ... \| ... | match |
| main.rs:213:55:213:56 | a6 | main.rs:213:35:213:82 | ... \| ... | match |
| main.rs:213:55:213:56 | a6 | main.rs:213:55:213:56 | a6 | |
| main.rs:213:55:213:56 | a6 | main.rs:213:61:213:82 | ...::Third(...) | no-match |
| main.rs:213:61:213:82 | ...::Third(...) | main.rs:213:80:213:81 | a6 | match |
| main.rs:213:80:213:81 | a6 | main.rs:213:35:213:82 | ... \| ... | match |
| main.rs:213:80:213:81 | a6 | main.rs:213:80:213:81 | a6 | |
@@ -552,10 +541,8 @@ edges
| main.rs:221:9:221:44 | [match(true)] ... \| ... | main.rs:222:16:222:17 | a7 | match |
| main.rs:221:22:221:23 | a7 | main.rs:221:9:221:44 | [match(true)] ... \| ... | match |
| main.rs:221:22:221:23 | a7 | main.rs:221:22:221:23 | a7 | |
| main.rs:221:22:221:23 | a7 | main.rs:221:28:221:44 | ...::Right(...) | no-match |
| main.rs:221:28:221:44 | ...::Right(...) | main.rs:221:9:221:44 | [match(false)] ... \| ... | no-match |
| main.rs:221:28:221:44 | ...::Right(...) | main.rs:221:42:221:43 | a7 | match |
| main.rs:221:42:221:43 | a7 | main.rs:221:9:221:44 | [match(false)] ... \| ... | no-match |
| main.rs:221:42:221:43 | a7 | main.rs:221:9:221:44 | [match(true)] ... \| ... | match |
| main.rs:221:42:221:43 | a7 | main.rs:221:42:221:43 | a7 | |
| main.rs:222:16:222:17 | a7 | main.rs:222:21:222:21 | 0 | |
@@ -586,10 +573,8 @@ edges
| main.rs:233:14:233:51 | [match(true)] ... \| ... | main.rs:232:13:232:13 | e | match |
| main.rs:233:27:233:29 | a11 | main.rs:233:14:233:51 | [match(true)] ... \| ... | match |
| main.rs:233:27:233:29 | a11 | main.rs:233:27:233:29 | a11 | |
| main.rs:233:27:233:29 | a11 | main.rs:233:34:233:51 | ...::Right(...) | no-match |
| main.rs:233:34:233:51 | ...::Right(...) | main.rs:233:14:233:51 | [match(false)] ... \| ... | no-match |
| main.rs:233:34:233:51 | ...::Right(...) | main.rs:233:48:233:50 | a11 | match |
| main.rs:233:48:233:50 | a11 | main.rs:233:14:233:51 | [match(false)] ... \| ... | no-match |
| main.rs:233:48:233:50 | a11 | main.rs:233:14:233:51 | [match(true)] ... \| ... | match |
| main.rs:233:48:233:50 | a11 | main.rs:233:48:233:50 | a11 | |
| main.rs:234:12:240:9 | { ... } | main.rs:231:5:242:5 | match either { ... } | |
@@ -601,7 +586,6 @@ edges
| main.rs:236:16:237:15 | let ... = e | main.rs:237:15:237:15 | e | |
| main.rs:236:20:236:36 | ...::Left(...) | main.rs:236:13:239:13 | if ... {...} | no-match |
| main.rs:236:20:236:36 | ...::Left(...) | main.rs:236:33:236:35 | a12 | match |
| main.rs:236:33:236:35 | a12 | main.rs:236:13:239:13 | if ... {...} | no-match |
| main.rs:236:33:236:35 | a12 | main.rs:236:33:236:35 | a12 | |
| main.rs:236:33:236:35 | a12 | main.rs:238:17:238:32 | ExprStmt | match |
| main.rs:237:15:237:15 | e | main.rs:236:20:236:36 | ...::Left(...) | |
@@ -629,17 +613,14 @@ edges
| main.rs:255:9:255:109 | ... \| ... \| ... | main.rs:256:16:256:24 | print_i64 | match |
| main.rs:255:27:255:29 | a13 | main.rs:255:9:255:109 | ... \| ... \| ... | match |
| main.rs:255:27:255:29 | a13 | main.rs:255:27:255:29 | a13 | |
| main.rs:255:27:255:29 | a13 | main.rs:255:35:255:57 | ...::Second(...) | no-match |
| main.rs:255:35:255:57 | ...::Second(...) | main.rs:255:54:255:56 | a13 | match |
| main.rs:255:35:255:57 | ...::Second(...) | main.rs:255:61:255:82 | ...::Third(...) | no-match |
| main.rs:255:35:255:82 | [match(false)] ... \| ... | main.rs:255:87:255:109 | ...::Fourth(...) | no-match |
| main.rs:255:35:255:82 | [match(true)] ... \| ... | main.rs:255:9:255:109 | ... \| ... \| ... | match |
| main.rs:255:54:255:56 | a13 | main.rs:255:35:255:82 | [match(true)] ... \| ... | match |
| main.rs:255:54:255:56 | a13 | main.rs:255:54:255:56 | a13 | |
| main.rs:255:54:255:56 | a13 | main.rs:255:61:255:82 | ...::Third(...) | no-match |
| main.rs:255:61:255:82 | ...::Third(...) | main.rs:255:35:255:82 | [match(false)] ... \| ... | no-match |
| main.rs:255:61:255:82 | ...::Third(...) | main.rs:255:79:255:81 | a13 | match |
| main.rs:255:79:255:81 | a13 | main.rs:255:35:255:82 | [match(false)] ... \| ... | no-match |
| main.rs:255:79:255:81 | a13 | main.rs:255:35:255:82 | [match(true)] ... \| ... | match |
| main.rs:255:79:255:81 | a13 | main.rs:255:79:255:81 | a13 | |
| main.rs:255:87:255:109 | ...::Fourth(...) | main.rs:255:106:255:108 | a13 | match |
@@ -680,7 +661,6 @@ edges
| main.rs:272:6:272:41 | ... \| ... | main.rs:272:5:272:50 | ...: Either | match |
| main.rs:272:19:272:20 | a9 | main.rs:272:6:272:41 | ... \| ... | match |
| main.rs:272:19:272:20 | a9 | main.rs:272:19:272:20 | a9 | |
| main.rs:272:19:272:20 | a9 | main.rs:272:25:272:41 | ...::Right(...) | no-match |
| main.rs:272:25:272:41 | ...::Right(...) | main.rs:272:39:272:40 | a9 | match |
| main.rs:272:39:272:40 | a9 | main.rs:272:6:272:41 | ... \| ... | match |
| main.rs:272:39:272:40 | a9 | main.rs:272:39:272:40 | a9 | |