summaryrefslogtreecommitdiffstats
path: root/src/doc/book/redirects/drop.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc/book/redirects/drop.md')
-rw-r--r--src/doc/book/redirects/drop.md34
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