// MIR for `bar` after built fn bar(_1: Box<[T]>) -> () { debug it => _1; // in scope 0 at $DIR/issue_91633.rs:+0:12: +0:14 let mut _0: (); // return place in scope 0 at $DIR/issue_91633.rs:+1:2: +1:2 let mut _2: &<[T] as std::ops::Index>::Output; // in scope 0 at $DIR/issue_91633.rs:+4:14: +4:19 let mut _3: &[T]; // in scope 0 at $DIR/issue_91633.rs:+4:14: +4:16 scope 1 { } bb0: { StorageLive(_2); // scope 0 at $DIR/issue_91633.rs:+4:14: +4:19 StorageLive(_3); // scope 0 at $DIR/issue_91633.rs:+4:14: +4:16 _3 = &(*_1); // scope 0 at $DIR/issue_91633.rs:+4:14: +4:16 _2 = <[T] as Index>::index(move _3, const 0_usize) -> [return: bb1, unwind: bb3]; // scope 0 at $DIR/issue_91633.rs:+4:14: +4:19 // mir::Constant // + span: $DIR/issue_91633.rs:15:14: 15:19 // + literal: Const { ty: for<'a> fn(&'a [T], usize) -> &'a <[T] as Index>::Output {<[T] as Index>::index}, val: Value() } } bb1: { StorageDead(_3); // scope 0 at $DIR/issue_91633.rs:+4:18: +4:19 PlaceMention((*_2)); // scope 0 at $DIR/issue_91633.rs:+4:14: +4:19 StorageDead(_2); // scope 0 at $DIR/issue_91633.rs:+4:19: +4:20 _0 = const (); // scope 0 at $DIR/issue_91633.rs:+3:2: +5:3 drop(_1) -> [return: bb2, unwind: bb4]; // scope 0 at $DIR/issue_91633.rs:+5:2: +5:3 } bb2: { return; // scope 0 at $DIR/issue_91633.rs:+5:3: +5:3 } bb3 (cleanup): { drop(_1) -> bb4; // scope 0 at $DIR/issue_91633.rs:+5:2: +5:3 } bb4 (cleanup): { resume; // scope 0 at $DIR/issue_91633.rs:+0:1: +5:3 } }