1 - // MIR for `variant_b::{closure#0}` before DestinationPropagation
2 + // MIR for `variant_b::{closure#0}` after DestinationPropagation
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: bool; // in scope 0 at $DIR/slice_filter.rs:+0:52: +0:58
13 let mut _10: bool; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:78
14 let mut _11: bool; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:68
15 let mut _12: bool; // in scope 0 at $DIR/slice_filter.rs:+0:72: +0:78
16 let mut _13: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
17 let mut _14: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
18 let mut _15: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
19 let mut _16: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40
21 debug a => _3; // in scope 1 at $DIR/slice_filter.rs:+0:29: +0:30
22 debug b => _4; // in scope 1 at $DIR/slice_filter.rs:+0:32: +0:33
23 debug c => _5; // in scope 1 at $DIR/slice_filter.rs:+0:35: +0:36
24 debug d => _6; // in scope 1 at $DIR/slice_filter.rs:+0:38: +0:39
28 StorageLive(_3); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
29 _13 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
30 _3 = ((*_13).0: usize); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30
31 StorageLive(_4); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
32 _14 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
33 _4 = ((*_14).1: usize); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33
34 StorageLive(_5); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
35 _15 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
36 _5 = ((*_15).2: usize); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36
37 StorageLive(_6); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
38 _16 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
39 _6 = ((*_16).3: usize); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39
40 - StorageLive(_7); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
41 + nop; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
42 StorageLive(_8); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48
43 _8 = Le(_3, _5); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48
44 switchInt(move _8) -> [0: bb4, otherwise: bb5]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
48 _0 = const true; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
49 goto -> bb3; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
53 - StorageLive(_10); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
54 + nop; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
55 StorageLive(_11); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
56 _11 = Le(_5, _3); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68
57 switchInt(move _11) -> [0: bb6, otherwise: bb7]; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
61 - StorageDead(_10); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
62 - StorageDead(_7); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
63 + nop; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
64 + nop; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
65 return; // scope 0 at $DIR/slice_filter.rs:+0:78: +0:78
69 - StorageDead(_9); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
70 + nop; // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
71 StorageDead(_8); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
72 goto -> bb2; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
76 - StorageLive(_9); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
77 + nop; // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
78 _9 = Le(_6, _4); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58
79 - _7 = move _9; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
80 - StorageDead(_9); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
81 + nop; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58
82 + nop; // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
83 StorageDead(_8); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58
84 - switchInt(move _7) -> [0: bb2, otherwise: bb1]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
85 + switchInt(move _9) -> [0: bb2, otherwise: bb1]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
89 - _10 = const false; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
90 + _0 = const false; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
91 goto -> bb8; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
95 - StorageLive(_12); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
96 - _12 = Le(_4, _6); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
97 - _10 = move _12; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
98 + nop; // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
99 + _0 = Le(_4, _6); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78
100 + nop; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
101 goto -> bb8; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78
105 - StorageDead(_12); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
106 + nop; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
107 StorageDead(_11); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78
108 - _0 = move _10; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
109 + nop; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78
110 goto -> bb3; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78