1 fn try_identity(x: Result<u32, i32>) -> Result<u32, i32> {
7 let _ = try_identity(Ok(0));
11 // START rustc.try_identity.SimplifyArmIdentity.before.mir
12 // fn try_identity(_1: std::result::Result<u32, i32>) -> std::result::Result<u32, i32> {
14 // let mut _0: std::result::Result<u32, i32>;
16 // let mut _3: std::result::Result<u32, i32>;
17 // let mut _4: std::result::Result<u32, i32>;
49 // _5 = discriminant(_1);
50 // switchInt(move _5) -> [0isize: bb1, otherwise: bb2];
53 // _10 = ((_1 as Ok).0: u32);
54 // ((_0 as Ok).0: u32) = move _10;
55 // discriminant(_0) = 0;
59 // _6 = ((_1 as Err).0: i32);
60 // ((_0 as Err).0: i32) = move _6;
61 // discriminant(_0) = 1;
68 // END rustc.try_identity.SimplifyArmIdentity.before.mir
70 // START rustc.try_identity.SimplifyArmIdentity.after.mir
71 // fn try_identity(_1: std::result::Result<u32, i32>) -> std::result::Result<u32, i32> {
73 // let mut _0: std::result::Result<u32, i32>;
75 // let mut _3: std::result::Result<u32, i32>;
76 // let mut _4: std::result::Result<u32, i32>;
108 // _5 = discriminant(_1);
109 // switchInt(move _5) -> [0isize: bb1, otherwise: bb2];
127 // END rustc.try_identity.SimplifyArmIdentity.after.mir
129 // START rustc.try_identity.SimplifyBranchSame.after.mir
130 // fn try_identity(_1: std::result::Result<u32, i32>) -> std::result::Result<u32, i32> {
132 // let mut _0: std::result::Result<u32, i32>;
134 // let mut _3: std::result::Result<u32, i32>;
135 // let mut _4: std::result::Result<u32, i32>;
136 // let mut _5: isize;
167 // _5 = discriminant(_1);
180 // END rustc.try_identity.SimplifyBranchSame.after.mir
182 // START rustc.try_identity.SimplifyLocals.after.mir
183 // fn try_identity(_1: std::result::Result<u32, i32>) -> std::result::Result<u32, i32> {
185 // let mut _0: std::result::Result<u32, i32>;
186 // let mut _2: isize;
212 // _2 = discriminant(_1);
217 // END rustc.try_identity.SimplifyLocals.after.mir