36 lines
2.0 KiB
Rust
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
|
|
}
|
|
}
|