blob: ae3f49a8847b0048f5229830c72c957e7be69fb5 [file] [log] [blame] [edit]
- // MIR for `on_assert` before SsaRangePropagation
+ // MIR for `on_assert` after SsaRangePropagation
fn on_assert(_1: usize, _2: &[u8]) -> u8 {
debug i => _1;
debug v => _2;
let mut _0: u8;
let _3: ();
let mut _4: bool;
let mut _5: usize;
let mut _6: usize;
let mut _7: &[u8];
let mut _8: !;
let _9: usize;
let mut _10: usize;
let mut _11: bool;
scope 1 (inlined core::slice::<impl [u8]>::len) {
scope 2 (inlined std::ptr::metadata::<[u8]>) {
}
}
bb0: {
StorageLive(_3);
nop;
StorageLive(_5);
_5 = copy _1;
nop;
StorageLive(_7);
_7 = &(*_2);
_6 = PtrMetadata(copy _2);
StorageDead(_7);
_4 = Lt(copy _1, copy _6);
switchInt(copy _4) -> [0: bb2, otherwise: bb1];
}
bb1: {
nop;
StorageDead(_5);
_3 = const ();
nop;
StorageDead(_3);
StorageLive(_9);
_9 = copy _1;
_10 = copy _6;
- _11 = copy _4;
- assert(copy _4, "index out of bounds: the length is {} but the index is {}", copy _6, copy _1) -> [success: bb3, unwind unreachable];
+ _11 = const true;
+ assert(const true, "index out of bounds: the length is {} but the index is {}", copy _6, copy _1) -> [success: bb3, unwind unreachable];
}
bb2: {
nop;
StorageDead(_5);
StorageLive(_8);
_8 = panic(const "assertion failed: i < v.len()") -> unwind unreachable;
}
bb3: {
_0 = copy (*_2)[_1];
StorageDead(_9);
return;
}
}
ALLOC0 (size: 29, align: 1) {
0x00 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 65 64 assertion failed
0x10 3a 20 69 20 3c 20 76 2e 6c 65 6e 28 29 : i < v.len()
}