//@ 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); | |
} |