rust/tests/mir-opt/issue_91633.fun.built.after.mir
2023-01-11 09:32:08 +00:00

36 lines
2.0 KiB
Rust

// MIR for `fun` after built
fn fun(_1: &[T]) -> &T {
debug it => _1; // in scope 0 at $DIR/issue_91633.rs:+0:12: +0:14
let mut _0: &T; // return place in scope 0 at $DIR/issue_91633.rs:+0:25: +0:27
let _2: &T; // in scope 0 at $DIR/issue_91633.rs:+2:10: +2:11
let _3: usize; // in scope 0 at $DIR/issue_91633.rs:+2:18: +2:19
let mut _4: usize; // in scope 0 at $DIR/issue_91633.rs:+2:15: +2:20
let mut _5: bool; // in scope 0 at $DIR/issue_91633.rs:+2:15: +2:20
scope 1 {
debug f => _2; // in scope 1 at $DIR/issue_91633.rs:+2:10: +2:11
}
bb0: {
StorageLive(_2); // scope 0 at $DIR/issue_91633.rs:+2:10: +2:11
StorageLive(_3); // scope 0 at $DIR/issue_91633.rs:+2:18: +2:19
_3 = const 0_usize; // scope 0 at $DIR/issue_91633.rs:+2:18: +2:19
_4 = Len((*_1)); // scope 0 at $DIR/issue_91633.rs:+2:15: +2:20
_5 = Lt(_3, _4); // scope 0 at $DIR/issue_91633.rs:+2:15: +2:20
assert(move _5, "index out of bounds: the length is {} but the index is {}", move _4, _3) -> [success: bb1, unwind: bb2]; // scope 0 at $DIR/issue_91633.rs:+2:15: +2:20
}
bb1: {
_2 = &(*_1)[_3]; // scope 0 at $DIR/issue_91633.rs:+2:14: +2:20
FakeRead(ForLet(None), _2); // scope 0 at $DIR/issue_91633.rs:+2:10: +2:11
_0 = &(*_2); // scope 1 at $DIR/issue_91633.rs:+3:6: +3:7
StorageDead(_3); // scope 0 at $DIR/issue_91633.rs:+4:2: +4:3
StorageDead(_2); // scope 0 at $DIR/issue_91633.rs:+4:2: +4:3
return; // scope 0 at $DIR/issue_91633.rs:+4:3: +4:3
}
bb2 (cleanup): {
resume; // scope 0 at $DIR/issue_91633.rs:+0:1: +4:3
}
}