diff options
| author | Brian Koropoff <bkoropoff@gmail.com> | 2014-09-13 15:36:58 -0700 |
|---|---|---|
| committer | Brian Koropoff <bkoropoff@gmail.com> | 2014-09-13 18:26:51 -0700 |
| commit | f1c4e476e9ecfcbcce167ce2c34840ccee71a1d4 (patch) | |
| tree | 7ba4f4acad2c0e33dee4cd3154e61dc7b9fe2b9b /src | |
| parent | 5857ec6d78fec2cf457a5557d89677354eb7d0d1 (diff) | |
| download | rust-f1c4e476e9ecfcbcce167ce2c34840ccee71a1d4.tar.gz rust-f1c4e476e9ecfcbcce167ce2c34840ccee71a1d4.zip | |
Add regression test for issue #17216
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/run-pass/issue-17216.rs | 32 |
1 files changed, 32 insertions, 0 deletions
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 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, 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); +} |
