From f1c4e476e9ecfcbcce167ce2c34840ccee71a1d4 Mon Sep 17 00:00:00 2001 From: Brian Koropoff Date: Sat, 13 Sep 2014 15:36:58 -0700 Subject: Add regression test for issue #17216 --- src/test/run-pass/issue-17216.rs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/test/run-pass/issue-17216.rs (limited to 'src/test') diff --git a/src/test/run-pass/issue-17216.rs b/src/test/run-pass/issue-17216.rs new file mode 100644 index 00000000000..538b837d117 --- /dev/null +++ b/src/test/run-pass/issue-17216.rs @@ -0,0 +1,32 @@ +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![feature(unsafe_destructor)] + +struct Leak<'a> { + dropped: &'a mut bool +} + +#[unsafe_destructor] +impl<'a> Drop for Leak<'a> { + fn drop(&mut self) { + *self.dropped = true; + } +} + +fn main() { + let mut dropped = false; + { + let leak = Leak { dropped: &mut dropped }; + for ((), leaked) in Some(((),leak)).move_iter() {} + } + + assert!(dropped); +} -- cgit 1.4.1-3-g733a5