- // MIR for `test` before SimplifyComparisonIntegral + // MIR for `test` after SimplifyComparisonIntegral fn test(_1: T) -> () { debug x => _1; let mut _0: (); let _2: &[T]; let mut _3: &[T; 3]; let _4: [T; 3]; let mut _5: T; let mut _6: T; let mut _7: T; let mut _8: usize; let mut _9: usize; let mut _10: bool; let mut _14: !; scope 1 { debug v => _2; let _11: &T; let _12: &T; let _13: &T; scope 2 { debug v1 => _11; debug v2 => _12; debug v3 => _13; } } bb0: { StorageLive(_3); StorageLive(_4); _4 = [_1, _1, _1]; _3 = &_4; _2 = move _3 as &[T] (PointerCoercion(Unsize)); StorageDead(_3); _8 = const 3_usize; _9 = const 3_usize; _10 = const true; goto -> bb2; } bb1: { _14 = core::panicking::panic(const "internal error: entered unreachable code") -> unwind unreachable; } bb2: { StorageLive(_11); _11 = &(*_2)[0 of 3]; StorageLive(_12); _12 = &(*_2)[1 of 3]; StorageLive(_13); _13 = &(*_2)[2 of 3]; StorageDead(_13); StorageDead(_12); StorageDead(_11); StorageDead(_4); return; } }