| - // MIR for `variant_b::{closure#0}` before CopyProp |
| + // MIR for `variant_b::{closure#0}` after CopyProp |
| |
| fn variant_b::{closure#0}(_1: &mut [closure@$DIR/slice_filter.rs:12:25: 12:41], _2: &&(usize, usize, usize, usize)) -> bool { |
| let mut _0: bool; // return place in scope 0 at $DIR/slice_filter.rs:+0:42: +0:42 |
| let _3: usize; // in scope 0 at $DIR/slice_filter.rs:+0:29: +0:30 |
| let _4: usize; // in scope 0 at $DIR/slice_filter.rs:+0:32: +0:33 |
| let _5: usize; // in scope 0 at $DIR/slice_filter.rs:+0:35: +0:36 |
| let _6: usize; // in scope 0 at $DIR/slice_filter.rs:+0:38: +0:39 |
| let mut _7: bool; // in scope 0 at $DIR/slice_filter.rs:+0:42: +0:58 |
| let mut _8: bool; // in scope 0 at $DIR/slice_filter.rs:+0:42: +0:48 |
| let mut _9: usize; // in scope 0 at $DIR/slice_filter.rs:+0:42: +0:43 |
| let mut _10: usize; // in scope 0 at $DIR/slice_filter.rs:+0:47: +0:48 |
| let mut _11: bool; // in scope 0 at $DIR/slice_filter.rs:+0:52: +0:58 |
| let mut _12: usize; // in scope 0 at $DIR/slice_filter.rs:+0:52: +0:53 |
| let mut _13: usize; // in scope 0 at $DIR/slice_filter.rs:+0:57: +0:58 |
| let mut _14: bool; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:78 |
| let mut _15: bool; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:68 |
| let mut _16: usize; // in scope 0 at $DIR/slice_filter.rs:+0:62: +0:63 |
| let mut _17: usize; // in scope 0 at $DIR/slice_filter.rs:+0:67: +0:68 |
| let mut _18: bool; // in scope 0 at $DIR/slice_filter.rs:+0:72: +0:78 |
| let mut _19: usize; // in scope 0 at $DIR/slice_filter.rs:+0:72: +0:73 |
| let mut _20: usize; // in scope 0 at $DIR/slice_filter.rs:+0:77: +0:78 |
| let mut _21: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40 |
| let mut _22: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40 |
| let mut _23: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40 |
| let mut _24: &(usize, usize, usize, usize); // in scope 0 at $DIR/slice_filter.rs:+0:26: +0:40 |
| scope 1 { |
| debug a => _3; // in scope 1 at $DIR/slice_filter.rs:+0:29: +0:30 |
| debug b => _4; // in scope 1 at $DIR/slice_filter.rs:+0:32: +0:33 |
| debug c => _5; // in scope 1 at $DIR/slice_filter.rs:+0:35: +0:36 |
| debug d => _6; // in scope 1 at $DIR/slice_filter.rs:+0:38: +0:39 |
| } |
| |
| bb0: { |
| - StorageLive(_3); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30 |
| _21 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30 |
| _3 = ((*_21).0: usize); // scope 0 at $DIR/slice_filter.rs:+0:29: +0:30 |
| - StorageLive(_4); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33 |
| _22 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33 |
| _4 = ((*_22).1: usize); // scope 0 at $DIR/slice_filter.rs:+0:32: +0:33 |
| - StorageLive(_5); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36 |
| _23 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36 |
| _5 = ((*_23).2: usize); // scope 0 at $DIR/slice_filter.rs:+0:35: +0:36 |
| - StorageLive(_6); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39 |
| _24 = deref_copy (*_2); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39 |
| _6 = ((*_24).3: usize); // scope 0 at $DIR/slice_filter.rs:+0:38: +0:39 |
| StorageLive(_7); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58 |
| StorageLive(_8); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48 |
| - StorageLive(_9); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:43 |
| - _9 = _3; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:43 |
| - StorageLive(_10); // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48 |
| - _10 = _5; // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48 |
| - _8 = Le(move _9, move _10); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48 |
| - StorageDead(_10); // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48 |
| - StorageDead(_9); // scope 1 at $DIR/slice_filter.rs:+0:47: +0:48 |
| + _8 = Le(_3, _5); // scope 1 at $DIR/slice_filter.rs:+0:42: +0:48 |
| switchInt(move _8) -> [0: bb4, otherwise: bb5]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58 |
| } |
| |
| bb1: { |
| _0 = const true; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78 |
| goto -> bb3; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78 |
| } |
| |
| bb2: { |
| StorageLive(_14); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78 |
| StorageLive(_15); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68 |
| - StorageLive(_16); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:63 |
| - _16 = _5; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:63 |
| - StorageLive(_17); // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68 |
| - _17 = _3; // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68 |
| - _15 = Le(move _16, move _17); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68 |
| - StorageDead(_17); // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68 |
| - StorageDead(_16); // scope 1 at $DIR/slice_filter.rs:+0:67: +0:68 |
| + _15 = Le(_5, _3); // scope 1 at $DIR/slice_filter.rs:+0:62: +0:68 |
| switchInt(move _15) -> [0: bb6, otherwise: bb7]; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78 |
| } |
| |
| bb3: { |
| StorageDead(_14); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78 |
| StorageDead(_7); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78 |
| - StorageDead(_6); // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78 |
| - StorageDead(_5); // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78 |
| - StorageDead(_4); // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78 |
| - StorageDead(_3); // scope 0 at $DIR/slice_filter.rs:+0:77: +0:78 |
| return; // scope 0 at $DIR/slice_filter.rs:+0:78: +0:78 |
| } |
| |
| bb4: { |
| _7 = const false; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58 |
| StorageDead(_11); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58 |
| StorageDead(_8); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58 |
| goto -> bb2; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58 |
| } |
| |
| bb5: { |
| StorageLive(_11); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58 |
| - StorageLive(_12); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:53 |
| - _12 = _6; // scope 1 at $DIR/slice_filter.rs:+0:52: +0:53 |
| - StorageLive(_13); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58 |
| - _13 = _4; // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58 |
| - _11 = Le(move _12, move _13); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58 |
| - StorageDead(_13); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58 |
| - StorageDead(_12); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58 |
| + _11 = Le(_6, _4); // scope 1 at $DIR/slice_filter.rs:+0:52: +0:58 |
| _7 = move _11; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:58 |
| StorageDead(_11); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58 |
| StorageDead(_8); // scope 1 at $DIR/slice_filter.rs:+0:57: +0:58 |
| switchInt(move _7) -> [0: bb2, otherwise: bb1]; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78 |
| } |
| |
| bb6: { |
| _14 = const false; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78 |
| goto -> bb8; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78 |
| } |
| |
| bb7: { |
| StorageLive(_18); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78 |
| - StorageLive(_19); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:73 |
| - _19 = _4; // scope 1 at $DIR/slice_filter.rs:+0:72: +0:73 |
| - StorageLive(_20); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78 |
| - _20 = _6; // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78 |
| - _18 = Le(move _19, move _20); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78 |
| - StorageDead(_20); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78 |
| - StorageDead(_19); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78 |
| + _18 = Le(_4, _6); // scope 1 at $DIR/slice_filter.rs:+0:72: +0:78 |
| _14 = move _18; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78 |
| goto -> bb8; // scope 1 at $DIR/slice_filter.rs:+0:62: +0:78 |
| } |
| |
| bb8: { |
| StorageDead(_18); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78 |
| StorageDead(_15); // scope 1 at $DIR/slice_filter.rs:+0:77: +0:78 |
| _0 = move _14; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78 |
| goto -> bb3; // scope 1 at $DIR/slice_filter.rs:+0:42: +0:78 |
| } |
| } |
| |