diff options
Diffstat (limited to 'src/test/ui/issues/issue-27401-dropflag-reinit.rs')
| -rw-r--r-- | src/test/ui/issues/issue-27401-dropflag-reinit.rs | 26 |
1 files changed, 0 insertions, 26 deletions
diff --git a/src/test/ui/issues/issue-27401-dropflag-reinit.rs b/src/test/ui/issues/issue-27401-dropflag-reinit.rs deleted file mode 100644 index ab54af29bd6..00000000000 --- a/src/test/ui/issues/issue-27401-dropflag-reinit.rs +++ /dev/null @@ -1,26 +0,0 @@ -// run-pass - -// Check that when a `let`-binding occurs in a loop, its associated -// drop-flag is reinitialized (to indicate "needs-drop" at the end of -// the owning variable's scope). - -struct A<'a>(&'a mut i32); - -impl<'a> Drop for A<'a> { - fn drop(&mut self) { - *self.0 += 1; - } -} - -fn main() { - let mut cnt = 0; - for i in 0..2 { - let a = A(&mut cnt); - if i == 1 { // Note that - break; // both this break - } // and also - drop(a); // this move of `a` - // are necessary to expose the bug - } - assert_eq!(cnt, 2); -} |
