| // MIR for `variant_b::{closure#0}` after PreCodegen |
| |
| 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; |
| let mut _3: &(usize, usize, usize, usize); |
| let _4: usize; |
| let mut _5: &(usize, usize, usize, usize); |
| let _6: usize; |
| let mut _7: &(usize, usize, usize, usize); |
| let _8: usize; |
| let mut _9: &(usize, usize, usize, usize); |
| let _10: usize; |
| let mut _11: bool; |
| let mut _12: bool; |
| let mut _13: bool; |
| scope 1 { |
| debug a => _4; |
| debug b => _6; |
| debug c => _8; |
| debug d => _10; |
| } |
| |
| bb0: { |
| _3 = deref_copy (*_2); |
| _4 = ((*_3).0: usize); |
| _5 = deref_copy (*_2); |
| _6 = ((*_5).1: usize); |
| _7 = deref_copy (*_2); |
| _8 = ((*_7).2: usize); |
| _9 = deref_copy (*_2); |
| _10 = ((*_9).3: usize); |
| StorageLive(_11); |
| _11 = Le(_4, _8); |
| switchInt(move _11) -> [0: bb2, otherwise: bb1]; |
| } |
| |
| bb1: { |
| StorageLive(_12); |
| _12 = Le(_10, _6); |
| switchInt(move _12) -> [0: bb2, otherwise: bb6]; |
| } |
| |
| bb2: { |
| StorageLive(_13); |
| _13 = Le(_8, _4); |
| switchInt(move _13) -> [0: bb3, otherwise: bb4]; |
| } |
| |
| bb3: { |
| _0 = const false; |
| goto -> bb5; |
| } |
| |
| bb4: { |
| _0 = Le(_6, _10); |
| goto -> bb5; |
| } |
| |
| bb5: { |
| StorageDead(_13); |
| goto -> bb7; |
| } |
| |
| bb6: { |
| _0 = const true; |
| goto -> bb7; |
| } |
| |
| bb7: { |
| StorageDead(_12); |
| StorageDead(_11); |
| return; |
| } |
| } |