From: Matthew Piziak Date: Tue, 16 Aug 2016 08:33:59 +0000 (-0400) Subject: note that calling drop() explicitly is a compiler error X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=a516dbb7d946fc26ed036ae4bd23f4c7abdff3a2;p=rust.git note that calling drop() explicitly is a compiler error Part of #29365 explain that std::mem::drop in prelude will invoke Drop change "prelude" -> "the prelude"; change links to reference-style move link references to links' section --- diff --git a/src/libcore/ops.rs b/src/libcore/ops.rs index 9347ac2a8c8..daa5ebb61f9 100644 --- a/src/libcore/ops.rs +++ b/src/libcore/ops.rs @@ -102,6 +102,13 @@ pub trait Drop { /// /// After this function is over, the memory of `self` will be deallocated. /// + /// This function cannot be called explicitly. This is compiler error + /// [0040]. However, the [`std::mem::drop`] function in the prelude can be + /// used to call the argument's `Drop` implementation. + /// + /// [0040]: https://doc.rust-lang.org/error-index.html#E0040 + /// [`std::mem::drop`]: https://doc.rust-lang.org/std/mem/fn.drop.html + /// /// # Panics /// /// Given that a `panic!` will call `drop()` as it unwinds, any `panic!` in