| // 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<usize>>::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<usize>>::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<usize>>::Output {<[T] as Index<usize>>::index}, val: Value(<ZST>) } |
| } |
| |
| 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) -> [return: bb4, unwind terminate]; // 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 |
| } |
| } |