| //@ run-pass | |
| #![allow(unused_variables)] | |
| struct Leak<'a> { | |
| dropped: &'a mut bool | |
| } | |
| 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)).into_iter() {} | |
| } | |
| assert!(dropped); | |
| } |