about summary refs log tree commit diff
path: root/tests/ui/issues/issue-25549-multiple-drop.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/issues/issue-25549-multiple-drop.rs')
-rw-r--r--tests/ui/issues/issue-25549-multiple-drop.rs33
1 files changed, 0 insertions, 33 deletions
diff --git a/tests/ui/issues/issue-25549-multiple-drop.rs b/tests/ui/issues/issue-25549-multiple-drop.rs
deleted file mode 100644
index 1eec15a4aa2..00000000000
--- a/tests/ui/issues/issue-25549-multiple-drop.rs
+++ /dev/null
@@ -1,33 +0,0 @@
-//@ run-pass
-#![allow(unused_variables)]
-struct Foo<'r>(&'r mut i32);
-
-impl<'r> Drop for Foo<'r> {
-    fn drop(&mut self) {
-        *self.0 += 1;
-    }
-}
-
-trait Trait {}
-impl<'r> Trait for Foo<'r> {}
-
-struct Holder<T: ?Sized>(T);
-
-fn main() {
-    let mut drops = 0;
-
-    {
-        let y = &Holder([Foo(&mut drops)]) as &Holder<[Foo]>;
-        // this used to cause an extra drop of the Foo instance
-        let x = &y.0;
-    }
-    assert_eq!(1, drops);
-
-    drops = 0;
-    {
-        let y = &Holder(Foo(&mut drops)) as &Holder<dyn Trait>;
-        // this used to cause an extra drop of the Foo instance
-        let x = &y.0;
-    }
-    assert_eq!(1, drops);
-}