blob: 97361fa5f4c3b8197bac2466fb9c0a8b33bebc87 (
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
- // MIR for `outer` before Inline
+ // MIR for `outer` after Inline
fn outer() -> usize {
let mut _0: usize; // return place in scope 0 at $DIR/issue_106141.rs:+0:19: +0:24
+ scope 1 (inlined inner) { // at $DIR/issue_106141.rs:2:5: 2:12
+ let mut _1: bool; // in scope 1 at $DIR/issue_106141.rs:13:8: 13:21
+ let mut _2: bool; // in scope 1 at $DIR/issue_106141.rs:13:8: 13:21
+ let mut _3: &[bool; 1]; // in scope 1 at $DIR/issue_106141.rs:11:18: 11:25
+ scope 2 {
+ debug buffer => _3; // in scope 2 at $DIR/issue_106141.rs:11:9: 11:15
+ scope 3 {
+ debug index => _0; // in scope 3 at $DIR/issue_106141.rs:12:9: 12:14
+ }
+ }
+ }
bb0: {
- _0 = inner() -> bb1; // scope 0 at $DIR/issue_106141.rs:+1:5: +1:12
+ StorageLive(_3); // scope 0 at $DIR/issue_106141.rs:+1:5: +1:12
+ _3 = const _; // scope 1 at $DIR/issue_106141.rs:11:18: 11:25
// mir::Constant
- // + span: $DIR/issue_106141.rs:2:5: 2:10
- // + literal: Const { ty: fn() -> usize {inner}, val: Value(<ZST>) }
+ // + span: $DIR/issue_106141.rs:11:18: 11:25
+ // + literal: Const { ty: &[bool; 1], val: Unevaluated(inner, [], Some(promoted[0])) }
+ _0 = index() -> bb1; // scope 2 at $DIR/issue_106141.rs:12:17: 12:24
+ // mir::Constant
+ // + span: $DIR/issue_106141.rs:12:17: 12:22
+ // + literal: Const { ty: fn() -> usize {index}, val: Value(<ZST>) }
}
bb1: {
+ StorageLive(_1); // scope 3 at $DIR/issue_106141.rs:13:8: 13:21
+ _2 = Lt(_0, const 1_usize); // scope 3 at $DIR/issue_106141.rs:13:8: 13:21
+ assert(move _2, "index out of bounds: the length is {} but the index is {}", const 1_usize, _0) -> bb2; // scope 3 at $DIR/issue_106141.rs:13:8: 13:21
+ }
+
+ bb2: {
+ _1 = (*_3)[_0]; // scope 3 at $DIR/issue_106141.rs:13:8: 13:21
+ switchInt(move _1) -> [0: bb3, otherwise: bb4]; // scope 3 at $DIR/issue_106141.rs:13:8: 13:21
+ }
+
+ bb3: {
+ _0 = const 0_usize; // scope 3 at $DIR/issue_106141.rs:16:9: 16:10
+ goto -> bb4; // scope 3 at $DIR/issue_106141.rs:13:5: 17:6
+ }
+
+ bb4: {
+ StorageDead(_1); // scope 3 at $DIR/issue_106141.rs:17:5: 17:6
+ StorageDead(_3); // scope 0 at $DIR/issue_106141.rs:+1:5: +1:12
return; // scope 0 at $DIR/issue_106141.rs:+2:2: +2:2
}
}
|