//@ test-mir-pass: RemoveUnneededDrops //@ needs-unwind //@ compile-flags: -Z mir-opt-level=1 // EMIT_MIR remove_unneeded_drop_in_place.slice_in_place.RemoveUnneededDrops.diff unsafe fn slice_in_place(ptr: *mut [char]) { // CHECK-LABEL: fn slice_in_place(_1: *mut [char]) // CHECK: bb0: { // CHECK-NEXT: return; // CHECK-NEXT: } std::ptr::drop_in_place(ptr) } fn main() { let mut a = ['o', 'k']; unsafe { slice_in_place(&raw mut a) }; }