diff options
Diffstat (limited to 'tests/ui/issues/issue-25549-multiple-drop.rs')
| -rw-r--r-- | tests/ui/issues/issue-25549-multiple-drop.rs | 33 |
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); -} |
