// 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; 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; } }