This will leak the ptr. Valgrind will complain. ``` use core::libc::{c_void, malloc, free}; struct SmartPtr(*c_void); impl Drop for SmartPtr { fn finalize(&self) { unsafe { error!("end ptr: %x", **self as uint); free(**self); } } } fn main() { unsafe { let junk = malloc(4); error!("start ptr: %x", junk as uint); let _junkbox = SmartPtr(junk); } } ```