Trait core::ops::Drop
[−]
[src]
pub trait Drop { fn drop(&mut self); }
The Drop
trait is used to run some code when a value goes out of scope.
This is sometimes called a 'destructor'.
Examples
A trivial implementation of Drop
. The drop
method is called when _x
goes out of scope, and therefore main
prints Dropping!
.
struct HasDrop; impl Drop for HasDrop { fn drop(&mut self) { println!("Dropping!"); } } fn main() { let _x = HasDrop; }
Required Methods
fn drop(&mut self)
[−]
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.
Implementors
impl<'b> Drop for BorrowRef<'b>
impl<'b> Drop for BorrowRefMut<'b>
impl<T: ?Sized> Drop for IntermediateBox<T>
impl<T: ?Sized> Drop for Arc<T>
impl<T: ?Sized> Drop for Weak<T>
impl<T: ?Sized> Drop for Rc<T>
impl<T: ?Sized> Drop for Weak<T>
impl<T> Drop for RawVec<T>
impl Drop for ContextMemory
impl Drop for Context
impl Drop for Elf
impl Drop for StaticIntexGuard
impl<T> Drop for Memory<T>
impl Drop for Pager
impl Drop for PageDirectory
impl Drop for PageTable
impl Drop for Prdt
impl Drop for SchemeInner
impl Drop for SchemeResource
impl Drop for Display
impl Drop for FileResource