这是 std::mem::drop 的有效实现吗?

Is this a valid implementation of `std::mem::drop`?

根据 The Rust Programming Language, ch15-03std::mem::drop 获取一个对象,接收其所有权,并调用其 drop 函数。

这就是这段代码的作用:

fn my_drop<T>(x: T) {}

fn main() {
    let x = 5;
    let y = &x;
    let mut z = 4;

    let v = vec![3, 4, 2, 5, 3, 5];

    my_drop(v);
}

这是std::mem::drop的作用吗?除了这些之外,它是否执行任何其他清理任务?

我们来看看source:

#[inline]
#[stable(feature = "rust1", since = "1.0.0")]
pub fn drop<T>(_x: T) { }

#[inline] 向编译器提示应该内联该函数。 #[stable] 被标准库用来标记在稳定通道上可用的 API。否则,它真的只是一个空函数!当 _x 作为 drop returns 超出范围时,其析构函数为 运行;没有其他方法可以在 Rust 中隐式执行清理任务。