struct Foo; impl Drop for Foo { fn drop(&mut self) { println!("drop"); } } fn main() { let _ = Foo; println!("After"); }
http://is.gd/SQ6vcnspa
输出是code
drop After
而若是咱们换成:blog
struct Foo; impl Drop for Foo { fn drop(&mut self) { println!("drop"); } } fn main() { let x = Foo; let _ = x; println!("After"); }
http://is.gd/uvJMO0class
After drop
虽然 eager drop 是很好的东西,可是,咱们其实不须要啊!im
咱们明明能够显式地给返回值调用一个 drop!di