// MIR for `main` after built fn main() -> () { let mut _0: (); let mut _1: (); let _2: i32; let mut _3: bool; let mut _4: !; let _5: (); let mut _6: &i32; scope 1 { debug beacon => _2; } bb0: { goto -> bb1; } bb1: { falseUnwind -> [real: bb2, unwind: bb11]; } bb2: { StorageLive(_2); StorageLive(_3); _3 = const true; PlaceMention(_3); switchInt(_3) -> [0: bb3, otherwise: bb4]; } bb3: { falseEdge -> [real: bb5, imaginary: bb4]; } bb4: { _0 = const (); goto -> bb10; } bb5: { _2 = const 4_i32; goto -> bb8; } bb6: { unreachable; } bb7: { goto -> bb8; } bb8: { FakeRead(ForLet(None), _2); StorageDead(_3); StorageLive(_5); StorageLive(_6); _6 = &_2; _5 = std::mem::drop::<&i32>(move _6) -> [return: bb9, unwind: bb11]; } bb9: { StorageDead(_6); StorageDead(_5); _1 = const (); StorageDead(_2); goto -> bb1; } bb10: { StorageDead(_3); StorageDead(_2); return; } bb11 (cleanup): { resume; } }