// error-pattern:drop 1
// ignore-cloudabi no std::process

/// Structure which will not allow to be dropped twice.
struct Droppable<'a>(&'a mut bool, u32);
impl<'a> Drop for Droppable<'a> {
    fn drop(&mut self) {
        if *self.0 {
            eprintln!("{} dropped twice", self.1);
            ::std::process::exit(1);
        }
        eprintln!("drop {}", self.1);
        *self.0 = true;
    }
}

fn mir<'a>(d: Droppable<'a>) {
    loop {
        let x = d;
        break;
    }
}

fn main() {
    let mut xv = false;
    mir(Droppable(&mut xv, 1));
    panic!();
}
