// MIR for `map_via_question_mark` after PreCodegen fn map_via_question_mark(_1: Option) -> Option { debug x => _1; let mut _0: std::option::Option; let mut _4: std::ops::ControlFlow, i32>; let _5: i32; let mut _6: i32; scope 1 { debug residual => const Option::::None; scope 2 { scope 7 (inlined as FromResidual>>::from_residual) { } } } scope 3 { debug val => _5; scope 4 { } } scope 5 (inlined as Try>::branch) { let mut _2: isize; let _3: i32; scope 6 { } } bb0: { StorageLive(_6); StorageLive(_4); StorageLive(_2); StorageLive(_3); _2 = discriminant(_1); switchInt(move _2) -> [0: bb1, 1: bb2, otherwise: bb4]; } bb1: { StorageDead(_3); StorageDead(_2); _0 = const Option::::None; StorageDead(_6); StorageDead(_4); goto -> bb3; } bb2: { _3 = copy ((_1 as Some).0: i32); _4 = ControlFlow::, i32>::Continue(copy _3); StorageDead(_3); StorageDead(_2); _5 = copy ((_4 as Continue).0: i32); _6 = Add(copy _5, const 1_i32); _0 = Option::::Some(move _6); StorageDead(_6); StorageDead(_4); goto -> bb3; } bb3: { return; } bb4: { unreachable; } } ALLOC0 (size: 8, align: 4) { 00 00 00 00 __ __ __ __ │ ....░░░░ }