blob: 42486d3a50e3897ac9e78349008c584009f1ad3b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
// 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
}
}
|