| // MIR for `slice_len` after built |
| |
| fn slice_len(_1: &[T]) -> () { |
| debug x => _1; |
| let mut _0: (); |
| let mut _2: usize; |
| let mut _3: usize; |
| let mut _4: usize; |
| let mut _5: bool; |
| let _10: (); |
| let mut _11: &T; |
| let _12: (); |
| let mut _13: &T; |
| let _14: (); |
| let mut _15: &[T]; |
| let _16: (); |
| let mut _17: &T; |
| scope 1 { |
| debug a => _6; |
| debug b => _7; |
| debug rest => _8; |
| debug e => _9; |
| let _6: &T; |
| let _7: &T; |
| let _8: &[T]; |
| let _9: &T; |
| } |
| |
| bb0: { |
| PlaceMention(_1); |
| _3 = PtrMetadata(copy _1); |
| _2 = move _3; |
| _4 = const 3_usize; |
| _5 = Ge(move _2, move _4); |
| switchInt(move _5) -> [0: bb1, otherwise: bb2]; |
| } |
| |
| bb1: { |
| goto -> bb9; |
| } |
| |
| bb2: { |
| falseEdge -> [real: bb4, imaginary: bb1]; |
| } |
| |
| bb3: { |
| goto -> bb1; |
| } |
| |
| bb4: { |
| StorageLive(_6); |
| _6 = &(*_1)[0 of 3]; |
| StorageLive(_7); |
| _7 = &(*_1)[1 of 3]; |
| StorageLive(_8); |
| _8 = &(*_1)[2:-1]; |
| StorageLive(_9); |
| _9 = &(*_1)[-1 of 3]; |
| StorageLive(_10); |
| StorageLive(_11); |
| _11 = copy _6; |
| _10 = opaque::<&T>(move _11) -> [return: bb5, unwind: bb11]; |
| } |
| |
| bb5: { |
| StorageDead(_11); |
| StorageDead(_10); |
| StorageLive(_12); |
| StorageLive(_13); |
| _13 = copy _7; |
| _12 = opaque::<&T>(move _13) -> [return: bb6, unwind: bb11]; |
| } |
| |
| bb6: { |
| StorageDead(_13); |
| StorageDead(_12); |
| StorageLive(_14); |
| StorageLive(_15); |
| _15 = copy _8; |
| _14 = opaque::<&[T]>(move _15) -> [return: bb7, unwind: bb11]; |
| } |
| |
| bb7: { |
| StorageDead(_15); |
| StorageDead(_14); |
| StorageLive(_16); |
| StorageLive(_17); |
| _17 = copy _9; |
| _16 = opaque::<&T>(move _17) -> [return: bb8, unwind: bb11]; |
| } |
| |
| bb8: { |
| StorageDead(_17); |
| StorageDead(_16); |
| _0 = const (); |
| StorageDead(_9); |
| StorageDead(_8); |
| StorageDead(_7); |
| StorageDead(_6); |
| goto -> bb10; |
| } |
| |
| bb9: { |
| _0 = const (); |
| goto -> bb10; |
| } |
| |
| bb10: { |
| return; |
| } |
| |
| bb11 (cleanup): { |
| resume; |
| } |
| } |