- // MIR for `foo` before ScalarReplacementOfAggregates + // MIR for `foo` after ScalarReplacementOfAggregates fn foo(_1: &[Simd], _2: Simd) -> () { debug simds => _1; debug _unused => _2; let mut _0: (); let _3: std::simd::Simd; let _4: usize; let mut _5: usize; let mut _6: bool; scope 1 { debug a => _3; } bb0: { StorageLive(_3); StorageLive(_4); _4 = const 0_usize; _5 = PtrMetadata(copy _1); _6 = Lt(copy _4, copy _5); assert(move _6, "index out of bounds: the length is {} but the index is {}", move _5, copy _4) -> [success: bb1, unwind continue]; } bb1: { _3 = copy (*_1)[_4]; StorageDead(_4); StorageDead(_3); return; } }