about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCorey Farwell <coreyf@rwell.org>2018-09-24 21:55:54 -0400
committerCorey Farwell <coreyf@rwell.org>2018-09-28 22:41:13 -0400
commit8d10f965f4400e5d01c944b331285b8ea1488788 (patch)
treec3dfdf03e66c579ed2cfe154033fdc275daae5be
parent5c875d93855c6d577962b0f74f17374f37b219c9 (diff)
downloadrust-8d10f965f4400e5d01c944b331285b8ea1488788.tar.gz
rust-8d10f965f4400e5d01c944b331285b8ea1488788.zip
Indicate how to move value out of Box in docs.
Fixes https://github.com/rust-lang/rust/issues/53634.
-rw-r--r--src/liballoc/boxed.rs15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/liballoc/boxed.rs b/src/liballoc/boxed.rs
index d4cca387f06..f989e701913 100644
--- a/src/liballoc/boxed.rs
+++ b/src/liballoc/boxed.rs
@@ -16,10 +16,18 @@
 //!
 //! # Examples
 //!
-//! Creating a box:
+//! Move a value from the stack to the heap by creating a [`Box`]:
 //!
 //! ```
-//! let x = Box::new(5);
+//! let val: u8 = 5;
+//! let boxed: Box<u8> = Box::new(val);
+//! ```
+//!
+//! Move a value from a [`Box`] back to the stack by [dereferencing]:
+//!
+//! ```
+//! let boxed: Box<u8> = Box::new(5);
+//! let val: u8 = *boxed;
 //! ```
 //!
 //! Creating a recursive data structure:
@@ -52,6 +60,9 @@
 //! elements are in the list, and so we don't know how much memory to allocate
 //! for a `Cons`. By introducing a `Box`, which has a defined size, we know how
 //! big `Cons` needs to be.
+//!
+//! [dereferencing]: ../../std/ops/trait.Deref.html
+//! [`Box`]: struct.Box.html
 
 #![stable(feature = "rust1", since = "1.0.0")]