- // MIR for `with_overflow` before LowerIntrinsics + // MIR for `with_overflow` after LowerIntrinsics fn with_overflow(_1: i32, _2: i32) -> () { debug a => _1; debug b => _2; let mut _0: (); let _3: (i32, bool); let mut _4: i32; let mut _5: i32; let mut _7: i32; let mut _8: i32; let mut _10: i32; let mut _11: i32; scope 1 { debug _x => _3; let _6: (i32, bool); scope 2 { debug _y => _6; let _9: (i32, bool); scope 3 { debug _z => _9; } } } bb0: { StorageLive(_3); StorageLive(_4); _4 = _1; StorageLive(_5); _5 = _2; - _3 = add_with_overflow::(move _4, move _5) -> [return: bb1, unwind unreachable]; + _3 = CheckedAdd(move _4, move _5); + goto -> bb1; } bb1: { StorageDead(_5); StorageDead(_4); StorageLive(_6); StorageLive(_7); _7 = _1; StorageLive(_8); _8 = _2; - _6 = sub_with_overflow::(move _7, move _8) -> [return: bb2, unwind unreachable]; + _6 = CheckedSub(move _7, move _8); + goto -> bb2; } bb2: { StorageDead(_8); StorageDead(_7); StorageLive(_9); StorageLive(_10); _10 = _1; StorageLive(_11); _11 = _2; - _9 = mul_with_overflow::(move _10, move _11) -> [return: bb3, unwind unreachable]; + _9 = CheckedMul(move _10, move _11); + goto -> bb3; } bb3: { StorageDead(_11); StorageDead(_10); _0 = const (); StorageDead(_9); StorageDead(_6); StorageDead(_3); return; } }