diff options
Diffstat (limited to 'src/doc/book/redirects/drop.md')
-rw-r--r-- | src/doc/book/redirects/drop.md | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/doc/book/redirects/drop.md b/src/doc/book/redirects/drop.md new file mode 100644 index 000000000..164f1d745 --- /dev/null +++ b/src/doc/book/redirects/drop.md @@ -0,0 +1,34 @@ +% Drop + +<small>There is a new edition of the book and this is an old link.</small> + +> `Drop` lets us customize what happens when a value is about to go out of scope. + +```rust +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."); +} +``` + +--- + +Here are the relevant sections in the new and old books: + +* **[in the current edition: Ch 15.03 — The `Drop` Trait Runs Code on Cleanup][2]** +* <small>[In the first edition: Ch 3.20 — Drop][1]</small> + + +[1]: https://doc.rust-lang.org/1.30.0/book/first-edition/drop.html +[2]: ch15-03-drop.html |