rust/tests/mir-opt/pre-codegen/slice_index.slice_index_usize.PreCodegen.after.mir
2023-04-26 14:43:36 -07:00

21 lines
1.1 KiB
Rust

// MIR for `slice_index_usize` after PreCodegen
fn slice_index_usize(_1: &[u32], _2: usize) -> u32 {
debug slice => _1; // in scope 0 at $DIR/slice_index.rs:+0:26: +0:31
debug index => _2; // in scope 0 at $DIR/slice_index.rs:+0:41: +0:46
let mut _0: u32; // return place in scope 0 at $DIR/slice_index.rs:+0:58: +0:61
let mut _3: usize; // in scope 0 at $DIR/slice_index.rs:+1:5: +1:17
let mut _4: bool; // in scope 0 at $DIR/slice_index.rs:+1:5: +1:17
bb0: {
_3 = Len((*_1)); // scope 0 at $DIR/slice_index.rs:+1:5: +1:17
_4 = Lt(_2, _3); // scope 0 at $DIR/slice_index.rs:+1:5: +1:17
assert(move _4, "index out of bounds: the length is {} but the index is {}", move _3, _2) -> bb1; // scope 0 at $DIR/slice_index.rs:+1:5: +1:17
}
bb1: {
_0 = (*_1)[_2]; // scope 0 at $DIR/slice_index.rs:+1:5: +1:17
return; // scope 0 at $DIR/slice_index.rs:+2:2: +2:2
}
}