- // MIR for `multiple` before DataflowConstProp + // MIR for `multiple` after DataflowConstProp fn multiple(_1: bool, _2: u8) -> () { debug x => _1; debug i => _2; let mut _0: (); let _3: std::option::Option; let mut _4: bool; let mut _5: u8; let mut _7: isize; scope 1 { debug e => _3; let _6: u8; let _8: u8; scope 2 { debug x2 => _6; let _9: u8; scope 4 { debug y => _9; } } scope 3 { debug i => _8; } } bb0: { StorageLive(_3); StorageLive(_4); _4 = copy _1; switchInt(move _4) -> [0: bb2, otherwise: bb1]; } bb1: { StorageLive(_5); _5 = copy _2; _3 = Option::::Some(move _5); StorageDead(_5); goto -> bb3; } bb2: { _3 = Option::::None; goto -> bb3; } bb3: { StorageDead(_4); StorageLive(_6); _7 = discriminant(_3); switchInt(move _7) -> [0: bb5, 1: bb6, otherwise: bb4]; } bb4: { unreachable; } bb5: { _6 = const 0_u8; goto -> bb7; } bb6: { StorageLive(_8); _8 = copy ((_3 as Some).0: u8); _6 = copy _8; StorageDead(_8); goto -> bb7; } bb7: { StorageLive(_9); _9 = copy _6; _0 = const (); StorageDead(_9); StorageDead(_6); StorageDead(_3); return; } }