我不喜欢的 Rust 特性 (之一) eager drop

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

相关文章
相关标签/搜索