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