Leaks.
use core::cast::transmute;
use core::libc::c_void;
struct NonCopyable(*c_void);
impl NonCopyable: Drop {
    fn finalize(&self) {
        let p = **self;
        let v = unsafe { transmute::<*c_void, ~int>(p) };
    }
}
fn main() {
    let t = ~0;
    let p = unsafe { transmute::<~int, *c_void>(t) };
    let z = NonCopyable(p);
}