// MIR for `option_direct` after PreCodegen fn option_direct(_1: Option) -> Option { debug x => _1; let mut _0: std::option::Option; let mut _2: isize; let _3: u32; let mut _4: u32; scope 1 { debug x => _3; } bb0: { _2 = discriminant(_1); switchInt(move _2) -> [0: bb1, 1: bb2, otherwise: bb4]; } bb1: { _0 = Option::::None; goto -> bb3; } bb2: { _3 = copy ((_1 as Some).0: u32); _4 = Not(copy _3); _0 = Option::::Some(move _4); goto -> bb3; } bb3: { return; } bb4: { unreachable; } }