`SimplifyArm` and such are currently in `-Zunsound-mir-opts` and thus weren't running by default, so having something like them for the new desugar shouldn't be necessary for switching.
71 lines
4.1 KiB
Diff
71 lines
4.1 KiB
Diff
- // MIR for `id_try` before SimplifyBranchSame
|
|
+ // MIR for `id_try` after SimplifyBranchSame
|
|
|
|
fn id_try(_1: Result<u8, i32>) -> Result<u8, i32> {
|
|
debug r => _1; // in scope 0 at $DIR/simplify-arm.rs:35:11: 35:12
|
|
let mut _0: std::result::Result<u8, i32>; // return place in scope 0 at $DIR/simplify-arm.rs:35:34: 35:49
|
|
let _2: u8; // in scope 0 at $DIR/simplify-arm.rs:36:9: 36:10
|
|
let mut _3: std::result::Result<u8, i32>; // in scope 0 at $DIR/simplify-arm.rs:36:19: 36:33
|
|
let mut _4: std::result::Result<u8, i32>; // in scope 0 at $DIR/simplify-arm.rs:36:31: 36:32
|
|
let mut _5: isize; // in scope 0 at $DIR/simplify-arm.rs:37:9: 37:15
|
|
let _6: i32; // in scope 0 at $DIR/simplify-arm.rs:37:13: 37:14
|
|
let mut _7: !; // in scope 0 at $DIR/simplify-arm.rs:37:19: 37:51
|
|
let mut _8: i32; // in scope 0 at $DIR/simplify-arm.rs:37:37: 37:50
|
|
let mut _9: i32; // in scope 0 at $DIR/simplify-arm.rs:37:48: 37:49
|
|
let _10: u8; // in scope 0 at $DIR/simplify-arm.rs:38:12: 38:13
|
|
let mut _11: u8; // in scope 0 at $DIR/simplify-arm.rs:40:8: 40:9
|
|
scope 1 {
|
|
debug x => ((_0 as Ok).0: u8); // in scope 1 at $DIR/simplify-arm.rs:36:9: 36:10
|
|
}
|
|
scope 2 {
|
|
debug e => ((_0 as Err).0: i32); // in scope 2 at $DIR/simplify-arm.rs:37:13: 37:14
|
|
scope 5 (inlined <i32 as From<i32>>::from) { // at $DIR/simplify-arm.rs:37:37: 37:50
|
|
debug t => ((_0 as Err).0: i32); // in scope 5 at $DIR/simplify-arm.rs:37:37: 37:50
|
|
}
|
|
scope 6 (inlined from_error::<u8, i32>) { // at $DIR/simplify-arm.rs:37:26: 37:51
|
|
debug e => ((_0 as Err).0: i32); // in scope 6 at $DIR/simplify-arm.rs:37:26: 37:51
|
|
}
|
|
}
|
|
scope 3 {
|
|
debug v => ((_0 as Ok).0: u8); // in scope 3 at $DIR/simplify-arm.rs:38:12: 38:13
|
|
}
|
|
scope 4 (inlined into_result::<u8, i32>) { // at $DIR/simplify-arm.rs:36:19: 36:33
|
|
debug r => _4; // in scope 4 at $DIR/simplify-arm.rs:36:19: 36:33
|
|
}
|
|
|
|
bb0: {
|
|
StorageLive(_2); // scope 0 at $DIR/simplify-arm.rs:36:9: 36:10
|
|
StorageLive(_3); // scope 0 at $DIR/simplify-arm.rs:36:19: 36:33
|
|
StorageLive(_4); // scope 0 at $DIR/simplify-arm.rs:36:31: 36:32
|
|
_4 = _1; // scope 0 at $DIR/simplify-arm.rs:36:31: 36:32
|
|
_3 = move _4; // scope 4 at $DIR/simplify-arm.rs:36:19: 36:33
|
|
StorageDead(_4); // scope 0 at $DIR/simplify-arm.rs:36:32: 36:33
|
|
_5 = discriminant(_3); // scope 0 at $DIR/simplify-arm.rs:37:9: 37:15
|
|
- switchInt(move _5) -> [0_isize: bb1, 1_isize: bb3, otherwise: bb2]; // scope 0 at $DIR/simplify-arm.rs:37:9: 37:15
|
|
+ goto -> bb1; // scope 0 at $DIR/simplify-arm.rs:37:9: 37:15
|
|
}
|
|
|
|
bb1: {
|
|
_0 = move _3; // scope 1 at $DIR/simplify-arm.rs:40:5: 40:10
|
|
StorageDead(_3); // scope 0 at $DIR/simplify-arm.rs:39:6: 39:7
|
|
StorageDead(_2); // scope 0 at $DIR/simplify-arm.rs:41:1: 41:2
|
|
- goto -> bb4; // scope 0 at $DIR/simplify-arm.rs:41:2: 41:2
|
|
+ goto -> bb2; // scope 0 at $DIR/simplify-arm.rs:41:2: 41:2
|
|
}
|
|
|
|
bb2: {
|
|
- unreachable; // scope 0 at $DIR/simplify-arm.rs:36:19: 36:33
|
|
- }
|
|
-
|
|
- bb3: {
|
|
- _0 = move _3; // scope 6 at $DIR/simplify-arm.rs:37:26: 37:51
|
|
- StorageDead(_3); // scope 0 at $DIR/simplify-arm.rs:39:6: 39:7
|
|
- StorageDead(_2); // scope 0 at $DIR/simplify-arm.rs:41:1: 41:2
|
|
- goto -> bb4; // scope 0 at $DIR/simplify-arm.rs:41:2: 41:2
|
|
- }
|
|
-
|
|
- bb4: {
|
|
return; // scope 0 at $DIR/simplify-arm.rs:41:2: 41:2
|
|
}
|
|
}
|
|
|