summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/issue-16774.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/issues/issue-16774.rs')
-rw-r--r--src/test/ui/issues/issue-16774.rs45
1 files changed, 0 insertions, 45 deletions
diff --git a/src/test/ui/issues/issue-16774.rs b/src/test/ui/issues/issue-16774.rs
deleted file mode 100644
index 2b308ef76..000000000
--- a/src/test/ui/issues/issue-16774.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-// run-pass
-#![feature(box_patterns)]
-
-use std::ops::{Deref, DerefMut};
-
-struct X(Box<isize>);
-
-static mut DESTRUCTOR_RAN: bool = false;
-
-impl Drop for X {
- fn drop(&mut self) {
- unsafe {
- assert!(!DESTRUCTOR_RAN);
- DESTRUCTOR_RAN = true;
- }
- }
-}
-
-impl Deref for X {
- type Target = isize;
-
- fn deref(&self) -> &isize {
- let &X(box ref x) = self;
- x
- }
-}
-
-impl DerefMut for X {
- fn deref_mut(&mut self) -> &mut isize {
- let &mut X(box ref mut x) = self;
- x
- }
-}
-
-fn main() {
- {
- let mut test = X(Box::new(5));
- {
- let mut change = || { *test = 10 };
- change();
- }
- assert_eq!(*test, 10);
- }
- assert!(unsafe { DESTRUCTOR_RAN });
-}