1 - // MIR for `id_try` before SimplifyArmIdentity
2 + // MIR for `id_try` after SimplifyArmIdentity
4 fn id_try(_1: Result<u8, i32>) -> Result<u8, i32> {
5 debug r => _1; // in scope 0 at $DIR/simplify-arm.rs:23:11: 23:12
6 let mut _0: std::result::Result<u8, i32>; // return place in scope 0 at $DIR/simplify-arm.rs:23:34: 23:49
7 let _2: u8; // in scope 0 at $DIR/simplify-arm.rs:24:9: 24:10
8 let mut _3: std::result::Result<u8, i32>; // in scope 0 at $DIR/simplify-arm.rs:24:13: 24:15
9 let mut _4: std::result::Result<u8, i32>; // in scope 0 at $DIR/simplify-arm.rs:24:13: 24:14
10 let mut _5: isize; // in scope 0 at $DIR/simplify-arm.rs:24:14: 24:15
11 let _6: i32; // in scope 0 at $DIR/simplify-arm.rs:24:14: 24:15
12 let mut _7: !; // in scope 0 at $DIR/simplify-arm.rs:24:14: 24:15
13 let mut _8: i32; // in scope 0 at $DIR/simplify-arm.rs:24:14: 24:15
14 let mut _9: i32; // in scope 0 at $DIR/simplify-arm.rs:24:14: 24:15
15 let _10: u8; // in scope 0 at $DIR/simplify-arm.rs:24:13: 24:15
16 let mut _11: u8; // in scope 0 at $DIR/simplify-arm.rs:25:8: 25:9
18 - debug x => _2; // in scope 1 at $DIR/simplify-arm.rs:24:9: 24:10
19 + debug x => ((_0 as Ok).0: u8); // in scope 1 at $DIR/simplify-arm.rs:24:9: 24:10
22 - debug err => _6; // in scope 2 at $DIR/simplify-arm.rs:24:14: 24:15
23 + debug err => ((_0 as Err).0: i32); // in scope 2 at $DIR/simplify-arm.rs:24:14: 24:15
25 scope 7 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify-arm.rs:24:14: 24:15
26 - debug t => _9; // in scope 7 at $DIR/simplify-arm.rs:24:14: 24:15
27 + debug t => ((_0 as Err).0: i32); // in scope 7 at $DIR/simplify-arm.rs:24:14: 24:15
29 scope 8 (inlined <Result<u8, i32> as Try>::from_error) { // at $DIR/simplify-arm.rs:24:13: 24:15
30 - debug v => _8; // in scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
31 + debug v => ((_0 as Err).0: i32); // in scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
32 let mut _12: i32; // in scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
37 - debug val => _10; // in scope 4 at $DIR/simplify-arm.rs:24:13: 24:15
38 + debug val => ((_0 as Ok).0: u8); // in scope 4 at $DIR/simplify-arm.rs:24:13: 24:15
42 scope 6 (inlined <Result<u8, i32> as Try>::into_result) { // at $DIR/simplify-arm.rs:24:13: 24:15
43 debug self => _4; // in scope 6 at $DIR/simplify-arm.rs:24:13: 24:15
47 StorageLive(_2); // scope 0 at $DIR/simplify-arm.rs:24:9: 24:10
48 StorageLive(_3); // scope 0 at $DIR/simplify-arm.rs:24:13: 24:15
49 StorageLive(_4); // scope 0 at $DIR/simplify-arm.rs:24:13: 24:14
50 _4 = _1; // scope 0 at $DIR/simplify-arm.rs:24:13: 24:14
51 _3 = move _4; // scope 6 at $DIR/simplify-arm.rs:24:13: 24:15
52 StorageDead(_4); // scope 0 at $DIR/simplify-arm.rs:24:14: 24:15
53 _5 = discriminant(_3); // scope 0 at $DIR/simplify-arm.rs:24:14: 24:15
54 switchInt(move _5) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:24:14: 24:15
58 - StorageLive(_10); // scope 0 at $DIR/simplify-arm.rs:24:13: 24:15
59 - _10 = ((_3 as Ok).0: u8); // scope 0 at $DIR/simplify-arm.rs:24:13: 24:15
60 - _2 = _10; // scope 5 at $DIR/simplify-arm.rs:24:13: 24:15
61 - StorageDead(_10); // scope 0 at $DIR/simplify-arm.rs:24:14: 24:15
62 + _0 = move _3; // scope 1 at $DIR/simplify-arm.rs:25:5: 25:10
63 StorageDead(_3); // scope 0 at $DIR/simplify-arm.rs:24:15: 24:16
64 - StorageLive(_11); // scope 1 at $DIR/simplify-arm.rs:25:8: 25:9
65 - _11 = _2; // scope 1 at $DIR/simplify-arm.rs:25:8: 25:9
66 - ((_0 as Ok).0: u8) = move _11; // scope 1 at $DIR/simplify-arm.rs:25:5: 25:10
67 - discriminant(_0) = 0; // scope 1 at $DIR/simplify-arm.rs:25:5: 25:10
68 - StorageDead(_11); // scope 1 at $DIR/simplify-arm.rs:25:9: 25:10
69 StorageDead(_2); // scope 0 at $DIR/simplify-arm.rs:26:1: 26:2
70 goto -> bb4; // scope 0 at $DIR/simplify-arm.rs:26:2: 26:2
74 unreachable; // scope 0 at $DIR/simplify-arm.rs:24:13: 24:15
78 - StorageLive(_6); // scope 0 at $DIR/simplify-arm.rs:24:14: 24:15
79 - _6 = ((_3 as Err).0: i32); // scope 0 at $DIR/simplify-arm.rs:24:14: 24:15
80 - StorageLive(_8); // scope 3 at $DIR/simplify-arm.rs:24:14: 24:15
81 - StorageLive(_9); // scope 3 at $DIR/simplify-arm.rs:24:14: 24:15
82 - _9 = _6; // scope 3 at $DIR/simplify-arm.rs:24:14: 24:15
83 - _8 = move _9; // scope 7 at $DIR/simplify-arm.rs:24:14: 24:15
84 - StorageDead(_9); // scope 3 at $DIR/simplify-arm.rs:24:14: 24:15
85 - StorageLive(_12); // scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
86 - _12 = move _8; // scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
87 - ((_0 as Err).0: i32) = move _12; // scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
88 - discriminant(_0) = 1; // scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
89 - StorageDead(_12); // scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
90 - StorageDead(_8); // scope 3 at $DIR/simplify-arm.rs:24:14: 24:15
91 - StorageDead(_6); // scope 0 at $DIR/simplify-arm.rs:24:14: 24:15
92 + _0 = move _3; // scope 8 at $DIR/simplify-arm.rs:24:13: 24:15
93 StorageDead(_3); // scope 0 at $DIR/simplify-arm.rs:24:15: 24:16
94 StorageDead(_2); // scope 0 at $DIR/simplify-arm.rs:26:1: 26:2
95 goto -> bb4; // scope 0 at $DIR/simplify-arm.rs:26:2: 26:2
99 return; // scope 0 at $DIR/simplify-arm.rs:26:2: 26:2