// 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: T; let _6: E; let _7: E; scope 1 { debug v => _3; } scope 2 { debug e => _6; } scope 3 { debug v => _5; } scope 4 { debug e => _7; } bb0: { StorageLive(_4); _2 = discriminant(_1); switchInt(move _2) -> [0: bb1, 1: bb2, otherwise: bb4]; } bb1: { _3 = move ((_1 as Ok).0: T); _4 = ControlFlow::::Continue(copy _3); _5 = move ((_4 as Continue).0: T); _0 = Result::::Ok(copy _5); StorageDead(_4); goto -> bb3; } bb2: { _6 = move ((_1 as Err).0: E); _4 = ControlFlow::::Break(copy _6); _7 = move ((_4 as Break).0: E); _0 = Result::::Err(copy _7); StorageDead(_4); goto -> bb3; } bb3: { return; } bb4: { unreachable; } }