- // MIR for `main` before RemoveStorageMarkers + // MIR for `main` after RemoveStorageMarkers fn main() -> () { let mut _0: (); let mut _1: i32; let mut _2: std::ops::Range; let mut _3: std::ops::Range; let mut _5: (); let _6: (); let mut _7: std::option::Option; let mut _8: &mut std::ops::Range; let mut _9: &mut std::ops::Range; let mut _10: isize; let mut _11: !; let mut _13: i32; scope 1 { debug sum => _1; let mut _4: std::ops::Range; scope 2 { debug iter => _4; let _12: i32; scope 3 { debug i => _12; } } } bb0: { - StorageLive(_1); _1 = const 0_i32; - StorageLive(_2); - StorageLive(_3); _3 = std::ops::Range:: { start: const 0_i32, end: const 10_i32 }; _2 = as IntoIterator>::into_iter(move _3) -> [return: bb1, unwind continue]; } bb1: { - StorageDead(_3); - StorageLive(_4); _4 = move _2; goto -> bb2; } bb2: { - StorageLive(_6); - StorageLive(_7); - StorageLive(_8); - StorageLive(_9); _9 = &mut _4; _8 = &mut (*_9); _7 = as Iterator>::next(move _8) -> [return: bb3, unwind continue]; } bb3: { - StorageDead(_8); _10 = discriminant(_7); switchInt(move _10) -> [0: bb6, 1: bb5, otherwise: bb4]; } bb4: { unreachable; } bb5: { - StorageLive(_12); _12 = copy ((_7 as Some).0: i32); - StorageLive(_13); _13 = copy _12; _1 = Add(copy _1, move _13); - StorageDead(_13); _6 = const (); - StorageDead(_12); - StorageDead(_9); - StorageDead(_7); - StorageDead(_6); _5 = const (); goto -> bb2; } bb6: { _0 = const (); - StorageDead(_9); - StorageDead(_7); - StorageDead(_6); - StorageDead(_4); - StorageDead(_2); - StorageDead(_1); return; } }