- // 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; } }