diff options
Diffstat (limited to 'src/test/ui/issues/issue-4734.rs')
-rw-r--r-- | src/test/ui/issues/issue-4734.rs | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/src/test/ui/issues/issue-4734.rs b/src/test/ui/issues/issue-4734.rs deleted file mode 100644 index 29c965d7f..000000000 --- a/src/test/ui/issues/issue-4734.rs +++ /dev/null @@ -1,37 +0,0 @@ -// run-pass -#![allow(dead_code)] -// Ensures that destructors are run for expressions of the form "e;" where -// `e` is a type which requires a destructor. - - -#![allow(path_statements)] - -struct A { n: isize } -struct B; - -static mut NUM_DROPS: usize = 0; - -impl Drop for A { - fn drop(&mut self) { - unsafe { NUM_DROPS += 1; } - } -} - -impl Drop for B { - fn drop(&mut self) { - unsafe { NUM_DROPS += 1; } - } -} - -fn main() { - assert_eq!(unsafe { NUM_DROPS }, 0); - { let _a = A { n: 1 }; } - assert_eq!(unsafe { NUM_DROPS }, 1); - { A { n: 3 }; } - assert_eq!(unsafe { NUM_DROPS }, 2); - - { let _b = B; } - assert_eq!(unsafe { NUM_DROPS }, 3); - { B; } - assert_eq!(unsafe { NUM_DROPS }, 4); -} |