// MIR for `variant_b::{closure#0}` after PreCodegen fn variant_b::{closure#0}(_1: &mut [closure@$DIR/slice_filter.rs:11:25: 11: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; let mut _14: bool; let mut _15: bool; let mut _16: 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(_12); StorageLive(_11); _11 = Le(_4, _8); switchInt(move _11) -> [0: bb1, otherwise: bb2]; } bb1: { _12 = const false; goto -> bb3; } bb2: { StorageLive(_13); _13 = Le(_10, _6); _12 = move _13; goto -> bb3; } bb3: { StorageDead(_13); StorageDead(_11); switchInt(move _12) -> [0: bb4, otherwise: bb8]; } bb4: { StorageLive(_15); StorageLive(_14); _14 = Le(_8, _4); switchInt(move _14) -> [0: bb5, otherwise: bb6]; } bb5: { _15 = const false; goto -> bb7; } bb6: { StorageLive(_16); _16 = Le(_6, _10); _15 = move _16; goto -> bb7; } bb7: { StorageDead(_16); StorageDead(_14); _0 = move _15; goto -> bb9; } bb8: { _0 = const true; goto -> bb9; } bb9: { StorageDead(_15); StorageDead(_12); return; } }