rust/tests/mir-opt/impossible_predicates.impos...

31 lines
771 B
Diff

- // MIR for `impossible_predicate` before ImpossiblePredicates
+ // MIR for `impossible_predicate` after ImpossiblePredicates
fn impossible_predicate(_1: &mut i32) -> (&mut i32, &mut i32) {
- debug x => _1;
let mut _0: (&mut i32, &mut i32);
- let _2: &mut i32;
- let mut _3: &mut i32;
- let mut _4: &mut i32;
scope 1 {
- debug y => _2;
}
bb0: {
- StorageLive(_2);
- _2 = copy _1;
- FakeRead(ForLet(None), _2);
- StorageLive(_3);
- _3 = &mut (*_2);
- StorageLive(_4);
- _4 = &mut (*_1);
- _0 = (move _3, move _4);
- StorageDead(_4);
- StorageDead(_3);
- StorageDead(_2);
- return;
+ unreachable;
}
}