// MIR for `bar` after built fn bar(_1: Box<[T]>) -> () { debug it => _1; let mut _0: (); let mut _2: &<[T] as std::ops::Index>::Output; let mut _3: &[T]; scope 1 { } bb0: { StorageLive(_2); StorageLive(_3); _3 = &(*_1); _2 = <[T] as Index>::index(move _3, const 0_usize) -> [return: bb1, unwind: bb5]; } bb1: { StorageDead(_3); PlaceMention((*_2)); StorageDead(_2); _0 = const (); drop(_1) -> [return: bb4, unwind: bb6]; } bb2: { FakeRead(ForMatchedPlace(None), (*_2)); unreachable; } bb3: { goto -> bb2; } bb4: { return; } bb5 (cleanup): { drop(_1) -> [return: bb6, unwind terminate(cleanup)]; } bb6 (cleanup): { resume; } }