// run-pass
// Make sure the destructor is run for newtype structs.

use std::cell::Cell;

struct Foo<'a>(&'a Cell<isize>);

impl<'a> Drop for Foo<'a> {
    fn drop(&mut self) {
        let Foo(i) = *self;
        i.set(23);
    }
}

pub fn main() {
    let y = &Cell::new(32);
    {
        let _x = Foo(y);
    }
    assert_eq!(y.get(), 23);
}
