| - // MIR for `add` before ConstProp |
| + // MIR for `add` after ConstProp |
| |
| fn add() -> u32 { |
| let mut _0: u32; // return place in scope 0 at $DIR/return_place.rs:5:13: 5:16 |
| let mut _1: (u32, bool); // in scope 0 at $DIR/return_place.rs:6:5: 6:10 |
| |
| bb0: { |
| - _1 = CheckedAdd(const 2_u32, const 2_u32); // scope 0 at $DIR/return_place.rs:6:5: 6:10 |
| - assert(!move (_1.1: bool), "attempt to compute `{} + {}` which would overflow", const 2_u32, const 2_u32) -> bb1; // scope 0 at $DIR/return_place.rs:6:5: 6:10 |
| + _1 = const (4_u32, false); // scope 0 at $DIR/return_place.rs:6:5: 6:10 |
| + // ty::Const |
| + // + ty: (u32, bool) |
| + // + val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) |
| + // mir::Constant |
| + // + span: $DIR/return_place.rs:6:5: 6:10 |
| + // + literal: Const { ty: (u32, bool), val: Value(ByRef { alloc: Allocation { bytes: [4, 0, 0, 0, 0, 0, 0, 0], relocations: Relocations(SortedMap { data: [] }), init_mask: InitMask { blocks: [31], len: Size { raw: 8 } }, size: Size { raw: 8 }, align: Align { pow2: 2 }, mutability: Not, extra: () }, offset: Size { raw: 0 } }) } |
| + assert(!const false, "attempt to compute `{} + {}` which would overflow", const 2_u32, const 2_u32) -> bb1; // scope 0 at $DIR/return_place.rs:6:5: 6:10 |
| } |
| |
| bb1: { |
| - _0 = move (_1.0: u32); // scope 0 at $DIR/return_place.rs:6:5: 6:10 |
| + _0 = const 4_u32; // scope 0 at $DIR/return_place.rs:6:5: 6:10 |
| return; // scope 0 at $DIR/return_place.rs:7:2: 7:2 |
| } |
| } |
| |