// MIR for `new` after PreCodegen fn new(_1: Result) -> Result { debug x => _1; let mut _0: std::result::Result; let mut _2: isize; let _3: T; let mut _4: std::ops::ControlFlow; let _5: E; let mut _6: isize; let _7: T; let _8: E; scope 1 { debug v => _3; } scope 2 { debug e => _5; } scope 3 { debug v => _7; } scope 4 { debug e => _8; } bb0: { StorageLive(_4); _2 = discriminant(_1); switchInt(move _2) -> [0: bb1, 1: bb2, otherwise: bb7]; } bb1: { _3 = move ((_1 as Ok).0: T); _4 = ControlFlow::::Continue(move _3); goto -> bb3; } bb2: { _5 = move ((_1 as Err).0: E); _4 = ControlFlow::::Break(move _5); goto -> bb3; } bb3: { _6 = discriminant(_4); switchInt(move _6) -> [0: bb4, 1: bb5, otherwise: bb7]; } bb4: { _7 = move ((_4 as Continue).0: T); _0 = Result::::Ok(move _7); StorageDead(_4); goto -> bb6; } bb5: { _8 = move ((_4 as Break).0: E); _0 = Result::::Err(move _8); StorageDead(_4); goto -> bb6; } bb6: { return; } bb7: { unreachable; } }