From 3385fba264fccba07545314880788281e91ca34c Mon Sep 17 00:00:00 2001 From: Steve Klabnik Date: Mon, 4 Jan 2016 12:19:48 -0500 Subject: [PATCH] Explain drop a bit more Fixes #30655 --- src/libcore/ops.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/libcore/ops.rs b/src/libcore/ops.rs index edbe64db080..1dc7a9ef2dc 100644 --- a/src/libcore/ops.rs +++ b/src/libcore/ops.rs @@ -95,6 +95,16 @@ use fmt; #[stable(feature = "rust1", since = "1.0.0")] pub trait Drop { /// A method called when the value goes out of scope. + /// + /// When this method has been called, `self` has not yet been deallocated. + /// If it were, `self` would be a dangling reference. + /// + /// After this function is over, the memory of `self` will be deallocated. + /// + /// # Panics + /// + /// Given that a `panic!` will call `drop()` as it unwinds, any `panic!` in + /// a `drop()` implementation will likely abort. #[stable(feature = "rust1", since = "1.0.0")] fn drop(&mut self); }