| // compile-flags: -Zmir-opt-level=0 |
| |
| fn main() { |
| let _fn = std::ptr::drop_in_place::<[String]> as unsafe fn(_); |
| } |
| |
| // END RUST SOURCE |
| |
| // START rustc.ptr-drop_in_place.[std__string__String].AddMovesForPackedDrops.before.mir |
| // let mut _2: usize; |
| // let mut _3: usize; |
| // let mut _4: usize; |
| // let mut _5: *mut std::string::String; |
| // let mut _6: bool; |
| // let mut _7: *mut std::string::String; |
| // let mut _8: bool; |
| // let mut _9: *mut std::string::String; |
| // let mut _10: *mut std::string::String; |
| // let mut _11: *mut std::string::String; |
| // let mut _12: bool; |
| // let mut _13: *mut std::string::String; |
| // let mut _14: bool; |
| // let mut _15: *mut [std::string::String]; |
| // bb0: { |
| // goto -> bb15; |
| // } |
| // bb1: { |
| // return; |
| // } |
| // bb2 (cleanup): { |
| // resume; |
| // } |
| // bb3 (cleanup): { |
| // _5 = &raw mut (*_1)[_4]; |
| // _4 = Add(move _4, const 1usize); |
| // drop((*_5)) -> bb4; |
| // } |
| // bb4 (cleanup): { |
| // _6 = Eq(_4, _3); |
| // switchInt(move _6) -> [false: bb3, otherwise: bb2]; |
| // } |
| // bb5: { |
| // _7 = &raw mut (*_1)[_4]; |
| // _4 = Add(move _4, const 1usize); |
| // drop((*_7)) -> [return: bb6, unwind: bb4]; |
| // } |
| // bb6: { |
| // _8 = Eq(_4, _3); |
| // switchInt(move _8) -> [false: bb5, otherwise: bb1]; |
| // } |
| // bb7: { |
| // _4 = const 0usize; |
| // goto -> bb6; |
| // } |
| // bb8: { |
| // goto -> bb7; |
| // } |
| // bb9 (cleanup): { |
| // _11 = _9; |
| // _9 = Offset(move _9, const 1usize); |
| // drop((*_11)) -> bb10; |
| // } |
| // bb10 (cleanup): { |
| // _12 = Eq(_9, _10); |
| // switchInt(move _12) -> [false: bb9, otherwise: bb2]; |
| // } |
| // bb11: { |
| // _13 = _9; |
| // _9 = Offset(move _9, const 1usize); |
| // drop((*_13)) -> [return: bb12, unwind: bb10]; |
| // } |
| // bb12: { |
| // _14 = Eq(_9, _10); |
| // switchInt(move _14) -> [false: bb11, otherwise: bb1]; |
| // } |
| // bb13: { |
| // _15 = &raw mut (*_1); |
| // _9 = move _15 as *mut std::string::String (Misc); |
| // _10 = Offset(_9, move _3); |
| // goto -> bb12; |
| // } |
| // bb14: { |
| // goto -> bb13; |
| // } |
| // bb15: { |
| // _2 = SizeOf(std::string::String); |
| // _3 = Len((*_1)); |
| // switchInt(move _2) -> [0usize: bb8, otherwise: bb14]; |
| // } |
| // END rustc.ptr-drop_in_place.[std__string__String].AddMovesForPackedDrops.before.mir |