// MIR for `checked_shl` after PreCodegen fn checked_shl(_1: u32, _2: u32) -> Option { debug x => _1; debug rhs => _2; let mut _0: std::option::Option; scope 1 (inlined core::num::::checked_shl) { let mut _3: bool; let mut _4: u32; scope 2 (inlined core::num::::unchecked_shl) { scope 3 (inlined core::ub_checks::check_language_ub) { scope 4 (inlined core::ub_checks::check_language_ub::runtime) { } } } } bb0: { StorageLive(_3); _3 = Lt(_2, const core::num::::BITS); switchInt(move _3) -> [0: bb1, otherwise: bb2]; } bb1: { _0 = const Option::::None; goto -> bb3; } bb2: { StorageLive(_4); _4 = ShlUnchecked(_1, _2); _0 = Option::::Some(move _4); StorageDead(_4); goto -> bb3; } bb3: { StorageDead(_3); return; } } ALLOC0 (size: 8, align: 4) { 00 00 00 00 __ __ __ __ │ ....░░░░ }