mirror of
https://github.com/alrayyes/wiki.git
synced 2024-11-22 11:36:23 +00:00
686 B
686 B
date | id | title |
---|---|---|
2020-09-29 | a5820942-f47a-4a5e-ba83-33916cc24674 | Drop Trait |
Introduction
Drop
lets you customize what happens when a value is about to go out
of scope, ie: to release resources like files or network connections.
Example
struct CustomSmartPointer {
data: String,
}
impl Drop for CustomSmartPointer {
fn drop(&mut self) {
println!("Dropping CustomSmartPointer with data `{}`!", self.data);
}
}
fn main() {
let _c = CustomSmartPointer {
data: String::from("my stuff"),
};
let _d = CustomSmartPointer {
data: String::from("other stuff"),
};
println!("CustomSmartPointers created.");
}