// MIR for `variant_a::{closure#0}` after PreCodegen fn variant_a::{closure#0}(_1: &mut {closure@$DIR/slice_filter.rs:7:25: 7:39}, _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 _11: &usize; let mut _16: bool; let _17: &usize; let mut _22: bool; let _23: &usize; let mut _28: bool; let _29: &usize; let mut _34: &&usize; let mut _35: &&usize; let mut _36: &&usize; let mut _37: &&usize; let mut _38: &&usize; let mut _39: &&usize; let mut _40: &&usize; let mut _41: &&usize; scope 1 { debug a => _4; debug b => _6; debug c => _8; debug d => _10; scope 2 (inlined cmp::impls::::le) { debug self => _34; debug other => _35; let mut _12: &usize; let mut _13: &usize; scope 3 (inlined cmp::impls::::le) { debug self => _12; debug other => _13; let mut _14: usize; let mut _15: usize; } } scope 4 (inlined cmp::impls::::le) { debug self => _36; debug other => _37; let mut _18: &usize; let mut _19: &usize; scope 5 (inlined cmp::impls::::le) { debug self => _18; debug other => _19; let mut _20: usize; let mut _21: usize; } } scope 6 (inlined cmp::impls::::le) { debug self => _38; debug other => _39; let mut _24: &usize; let mut _25: &usize; scope 7 (inlined cmp::impls::::le) { debug self => _24; debug other => _25; let mut _26: usize; let mut _27: usize; } } scope 8 (inlined cmp::impls::::le) { debug self => _40; debug other => _41; let mut _30: &usize; let mut _31: &usize; scope 9 (inlined cmp::impls::::le) { debug self => _30; debug other => _31; let mut _32: usize; let mut _33: usize; } } } bb0: { StorageLive(_4); _3 = deref_copy (*_2); _4 = &((*_3).0: usize); StorageLive(_6); _5 = deref_copy (*_2); _6 = &((*_5).1: usize); StorageLive(_8); _7 = deref_copy (*_2); _8 = &((*_7).2: usize); StorageLive(_10); _9 = deref_copy (*_2); _10 = &((*_9).3: usize); StorageLive(_16); StorageLive(_34); StorageLive(_35); StorageLive(_11); _11 = _8; _12 = deref_copy _4; _13 = deref_copy _11; StorageLive(_14); _14 = (*_12); StorageLive(_15); _15 = (*_13); _16 = Le(move _14, move _15); StorageDead(_15); StorageDead(_14); switchInt(move _16) -> [0: bb1, otherwise: bb2]; } bb1: { StorageDead(_11); StorageDead(_35); StorageDead(_34); goto -> bb4; } bb2: { StorageDead(_11); StorageDead(_35); StorageDead(_34); StorageLive(_22); StorageLive(_36); StorageLive(_37); StorageLive(_17); _17 = _6; _18 = deref_copy _10; _19 = deref_copy _17; StorageLive(_20); _20 = (*_18); StorageLive(_21); _21 = (*_19); _22 = Le(move _20, move _21); StorageDead(_21); StorageDead(_20); switchInt(move _22) -> [0: bb3, otherwise: bb8]; } bb3: { StorageDead(_17); StorageDead(_37); StorageDead(_36); goto -> bb4; } bb4: { StorageLive(_28); StorageLive(_38); StorageLive(_39); StorageLive(_23); _23 = _4; _24 = deref_copy _8; _25 = deref_copy _23; StorageLive(_26); _26 = (*_24); StorageLive(_27); _27 = (*_25); _28 = Le(move _26, move _27); StorageDead(_27); StorageDead(_26); switchInt(move _28) -> [0: bb5, otherwise: bb6]; } bb5: { StorageDead(_23); StorageDead(_39); StorageDead(_38); _0 = const false; goto -> bb7; } bb6: { StorageDead(_23); StorageDead(_39); StorageDead(_38); StorageLive(_40); StorageLive(_41); StorageLive(_29); _29 = _10; _30 = deref_copy _6; _31 = deref_copy _29; StorageLive(_32); _32 = (*_30); StorageLive(_33); _33 = (*_31); _0 = Le(move _32, move _33); StorageDead(_33); StorageDead(_32); StorageDead(_29); StorageDead(_41); StorageDead(_40); goto -> bb7; } bb7: { StorageDead(_28); goto -> bb9; } bb8: { StorageDead(_17); StorageDead(_37); StorageDead(_36); _0 = const true; goto -> bb9; } bb9: { StorageDead(_22); StorageDead(_16); StorageDead(_10); StorageDead(_8); StorageDead(_6); StorageDead(_4); return; } }