// 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: bb3]; } bb1: { StorageDead(_3); PlaceMention((*_2)); StorageDead(_2); _0 = const (); drop(_1) -> [return: bb2, unwind: bb4]; } bb2: { return; } bb3 (cleanup): { drop(_1) -> [return: bb4, unwind terminate(cleanup)]; } bb4 (cleanup): { resume; } }