1 - // MIR for `variant_b::{closure#0}` before CopyProp
2 + // MIR for `variant_b::{closure#0}` after CopyProp
4 fn variant_b::{closure#0}(_1: &mut [closure@$DIR/slice_filter.rs:12:25: 12:41], _2: &&(usize, usize, usize, usize)) -> bool {
5 let mut _0: bool; // return place in scope 0 at $DIR/slice_filter.rs:+0:42: +0:42
6 let _3: usize; // in scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
7 let _4: usize; // in scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
8 let _5: usize; // in scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
9 let _6: usize; // in scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
10 let mut _7: bool; // in scope 0 at $DIR/slice_filter.rs:+0:42: +0:58
11 let mut _8: bool; // in scope 0 at $DIR/slice_filter.rs:+0:42: +0:48
12 let mut _9: usize; // in scope 0 at $DIR/slice_filter.rs:+0:42: +0:43
13 let mut _10: usize; // in scope 0 at $DIR/slice_filter.rs:+0:47: +0:48
14 let mut _11: bool; // in scope 0 at $DIR/slice_filter.rs:+0:52: +0:58
15 let mut _12: usize; // in scope 0 at $DIR/slice_filter.rs:+0:52: +0:53
16 let mut _13: usize; // in scope 0 at $DIR/slice_filter.rs:+0:57: +0:58
17 let mut _14: bool; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:78
18 let mut _15: bool; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:68
19 let mut _16: usize; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:63
20 let mut _17: usize; // in scope 0 at $DIR/slice_filter.rs:+0:67: +0:68
21 let mut _18: bool; // in scope 0 at $DIR/slice_filter.rs:+0:72: +0:78
22 let mut _19: usize; // in scope 0 at $DIR/slice_filter.rs:+0:72: +0:73
23 let mut _20: usize; // in scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
24 let mut _21: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
25 let mut _22: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
26 let mut _23: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
27 let mut _24: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
29 debug a => _3; // in scope 1 at $DIR/slice_filter.rs:+0:29: +0:30
30 debug b => _4; // in scope 1 at $DIR/slice_filter.rs:+0:32: +0:33
31 debug c => _5; // in scope 1 at $DIR/slice_filter.rs:+0:35: +0:36
32 debug d => _6; // in scope 1 at $DIR/slice_filter.rs:+0:38: +0:39
36 - StorageLive(_3); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
37 _21 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
38 _3 = ((*_21).0: usize); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
39 - StorageLive(_4); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
40 _22 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
41 _4 = ((*_22).1: usize); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
42 - StorageLive(_5); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
43 _23 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
44 _5 = ((*_23).2: usize); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
45 - StorageLive(_6); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
46 _24 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
47 _6 = ((*_24).3: usize); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
48 StorageLive(_7); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
49 StorageLive(_8); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48
50 - StorageLive(_9); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:43
51 - _9 = _3; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:43
52 - StorageLive(_10); // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
53 - _10 = _5; // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
54 - _8 = Le(move _9, move _10); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48
55 - StorageDead(_10); // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
56 - StorageDead(_9); // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48
57 + _8 = Le(_3, _5); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48
58 switchInt(move _8) -> [0: bb4, otherwise: bb5]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
62 _0 = const true; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
63 goto -> bb3; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
67 StorageLive(_14); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
68 StorageLive(_15); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
69 - StorageLive(_16); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:63
70 - _16 = _5; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:63
71 - StorageLive(_17); // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
72 - _17 = _3; // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
73 - _15 = Le(move _16, move _17); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
74 - StorageDead(_17); // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
75 - StorageDead(_16); // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68
76 + _15 = Le(_5, _3); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
77 switchInt(move _15) -> [0: bb6, otherwise: bb7]; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
81 StorageDead(_14); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
82 StorageDead(_7); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
83 - StorageDead(_6); // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
84 - StorageDead(_5); // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
85 - StorageDead(_4); // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
86 - StorageDead(_3); // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78
87 return; // scope 0 at $DIR/slice_filter.rs:+0:78: +0:78
91 _7 = const false; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
92 StorageDead(_11); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
93 StorageDead(_8); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
94 goto -> bb2; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
98 StorageLive(_11); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
99 - StorageLive(_12); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:53
100 - _12 = _6; // scope 1 at $DIR/slice_filter.rs:+0:52: +0:53
101 - StorageLive(_13); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
102 - _13 = _4; // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
103 - _11 = Le(move _12, move _13); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
104 - StorageDead(_13); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
105 - StorageDead(_12); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
106 + _11 = Le(_6, _4); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
107 _7 = move _11; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
108 StorageDead(_11); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
109 StorageDead(_8); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
110 switchInt(move _7) -> [0: bb2, otherwise: bb1]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
114 _14 = const false; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
115 goto -> bb8; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
119 StorageLive(_18); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
120 - StorageLive(_19); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:73
121 - _19 = _4; // scope 1 at $DIR/slice_filter.rs:+0:72: +0:73
122 - StorageLive(_20); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
123 - _20 = _6; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
124 - _18 = Le(move _19, move _20); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
125 - StorageDead(_20); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
126 - StorageDead(_19); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
127 + _18 = Le(_4, _6); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
128 _14 = move _18; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
129 goto -> bb8; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
133 StorageDead(_18); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
134 StorageDead(_15); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
135 _0 = move _14; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
136 goto -> bb3; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78