diff options
Diffstat (limited to 'src/test/ui/drop/issue-90752.rs')
-rw-r--r-- | src/test/ui/drop/issue-90752.rs | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/src/test/ui/drop/issue-90752.rs b/src/test/ui/drop/issue-90752.rs deleted file mode 100644 index 4395e45e7..000000000 --- a/src/test/ui/drop/issue-90752.rs +++ /dev/null @@ -1,32 +0,0 @@ -// run-pass - -use std::cell::RefCell; - -struct S<'a>(i32, &'a RefCell<Vec<i32>>); - -impl<'a> Drop for S<'a> { - fn drop(&mut self) { - self.1.borrow_mut().push(self.0); - } -} - -fn test(drops: &RefCell<Vec<i32>>) { - let mut foo = None; - match foo { - None => (), - _ => return, - } - - *(&mut foo) = Some((S(0, drops), S(1, drops))); // Both S(0) and S(1) should be dropped - - match foo { - Some((_x, _)) => {} - _ => {} - } -} - -fn main() { - let drops = RefCell::new(Vec::new()); - test(&drops); - assert_eq!(*drops.borrow(), &[0, 1]); -} |