about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorScott McMurray <scottmcm@users.noreply.github.com>2025-07-27 21:39:56 -0700
committerScott McMurray <scottmcm@users.noreply.github.com>2025-08-04 23:54:39 -0700
commit4e81ecaf3a45a4bb5a8a78ac407d1ef6a7367e72 (patch)
treec79201e6131412c453ff03f27025d57aeb0883b4 /tests
parent9b107bed9f2d2098dbbaade0ddbc363c651cd38b (diff)
downloadrust-4e81ecaf3a45a4bb5a8a78ac407d1ef6a7367e72.tar.gz
rust-4e81ecaf3a45a4bb5a8a78ac407d1ef6a7367e72.zip
Let `RemoveUnneededDrops` also remove `drop_in_place`
Diffstat (limited to 'tests')
-rw-r--r--tests/mir-opt/remove_unneeded_drop_in_place.rs6
-rw-r--r--tests/mir-opt/remove_unneeded_drop_in_place.slice_in_place.RemoveUnneededDrops.diff8
2 files changed, 9 insertions, 5 deletions
diff --git a/tests/mir-opt/remove_unneeded_drop_in_place.rs b/tests/mir-opt/remove_unneeded_drop_in_place.rs
index 7fb7b1e78de..470c6499d16 100644
--- a/tests/mir-opt/remove_unneeded_drop_in_place.rs
+++ b/tests/mir-opt/remove_unneeded_drop_in_place.rs
@@ -1,13 +1,17 @@
 //@ 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() {
-    // CHECK-LABEL: fn main(
     let mut a = ['o', 'k'];
     unsafe { slice_in_place(&raw mut a) };
 }
diff --git a/tests/mir-opt/remove_unneeded_drop_in_place.slice_in_place.RemoveUnneededDrops.diff b/tests/mir-opt/remove_unneeded_drop_in_place.slice_in_place.RemoveUnneededDrops.diff
index 4068e7940bc..4d70e7151c3 100644
--- a/tests/mir-opt/remove_unneeded_drop_in_place.slice_in_place.RemoveUnneededDrops.diff
+++ b/tests/mir-opt/remove_unneeded_drop_in_place.slice_in_place.RemoveUnneededDrops.diff
@@ -9,10 +9,10 @@
       bb0: {
           StorageLive(_2);
           _2 = copy _1;
-          _0 = drop_in_place::<[char]>(move _2) -> [return: bb1, unwind continue];
-      }
-  
-      bb1: {
+-         _0 = drop_in_place::<[char]>(move _2) -> [return: bb1, unwind continue];
+-     }
+- 
+-     bb1: {
           StorageDead(_2);
           return;
       }