2022-10-15 12:24:02 -05:00
|
|
|
- // MIR for `main` before DataflowConstProp
|
|
|
|
+ // MIR for `main` after DataflowConstProp
|
|
|
|
|
|
|
|
fn main() -> () {
|
2022-10-24 19:27:27 -05:00
|
|
|
let mut _0: (); // return place in scope 0 at $DIR/inherit_overflow.rs:+0:11: +0:11
|
|
|
|
let mut _1: u8; // in scope 0 at $DIR/inherit_overflow.rs:+3:13: +3:47
|
|
|
|
let mut _2: u8; // in scope 0 at $DIR/inherit_overflow.rs:+3:13: +3:47
|
2023-02-08 14:28:39 -06:00
|
|
|
let mut _3: u8; // in scope 0 at $DIR/inherit_overflow.rs:+3:13: +3:47
|
2022-10-15 12:24:02 -05:00
|
|
|
scope 1 {
|
|
|
|
}
|
2023-04-05 03:44:20 -05:00
|
|
|
scope 2 (inlined <u8 as Add>::add) { // at $DIR/inherit_overflow.rs:9:13: 9:47
|
2023-02-08 14:28:39 -06:00
|
|
|
debug self => _2; // in scope 2 at $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
|
|
|
debug other => _3; // in scope 2 at $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
|
|
|
let mut _4: (u8, bool); // in scope 2 at $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
2022-10-15 12:24:02 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
bb0: {
|
2023-01-29 12:50:33 -06:00
|
|
|
StorageLive(_1); // scope 0 at $DIR/inherit_overflow.rs:+3:13: +3:47
|
|
|
|
StorageLive(_2); // scope 0 at $DIR/inherit_overflow.rs:+3:13: +3:47
|
2023-02-08 14:28:39 -06:00
|
|
|
_2 = const u8::MAX; // scope 0 at $DIR/inherit_overflow.rs:+3:13: +3:47
|
|
|
|
StorageLive(_3); // scope 0 at $DIR/inherit_overflow.rs:+3:13: +3:47
|
|
|
|
_3 = const 1_u8; // scope 0 at $DIR/inherit_overflow.rs:+3:13: +3:47
|
|
|
|
- _4 = CheckedAdd(_2, _3); // scope 2 at $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
|
|
|
- assert(!move (_4.1: bool), "attempt to compute `{} + {}`, which would overflow", _2, _3) -> bb1; // scope 2 at $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
|
|
|
+ _4 = CheckedAdd(const u8::MAX, const 1_u8); // scope 2 at $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
|
|
|
+ assert(!const true, "attempt to compute `{} + {}`, which would overflow", const u8::MAX, const 1_u8) -> bb1; // scope 2 at $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
2022-10-15 12:24:02 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
bb1: {
|
2023-02-08 14:28:39 -06:00
|
|
|
- _1 = move (_4.0: u8); // scope 2 at $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
|
|
|
+ _1 = const 0_u8; // scope 2 at $SRC_DIR/core/src/ops/arith.rs:LL:COL
|
|
|
|
StorageDead(_3); // scope 0 at $DIR/inherit_overflow.rs:+3:13: +3:47
|
2023-01-29 12:50:33 -06:00
|
|
|
StorageDead(_2); // scope 0 at $DIR/inherit_overflow.rs:+3:13: +3:47
|
2023-02-08 14:28:39 -06:00
|
|
|
StorageDead(_1); // scope 0 at $DIR/inherit_overflow.rs:+3:47: +3:48
|
|
|
|
_0 = const (); // scope 0 at $DIR/inherit_overflow.rs:+0:11: +4:2
|
2022-10-24 19:27:27 -05:00
|
|
|
return; // scope 0 at $DIR/inherit_overflow.rs:+4:2: +4:2
|
2022-10-15 12:24:02 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|