about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libcore/marker.rs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libcore/marker.rs b/src/libcore/marker.rs
index 455517c9294..38c9fe79f84 100644
--- a/src/libcore/marker.rs
+++ b/src/libcore/marker.rs
@@ -618,14 +618,16 @@ unsafe impl<T: ?Sized> Freeze for &mut T {}
 /// So this, for example, can only be done on types implementing `Unpin`:
 ///
 /// ```rust
-/// use std::mem::replace;
+/// use std::mem;
 /// use std::pin::Pin;
 ///
 /// let mut string = "this".to_string();
 /// let mut pinned_string = Pin::new(&mut string);
 ///
-/// // dereferencing the pointer mutably is only possible because String implements Unpin
-/// replace(&mut *pinned_string, "other".to_string());
+/// // We need a mutable reference to call `mem::replace`.
+/// // We can obtain such a reference by (implicitly) invoking `Pin::deref_mut`,
+/// // but that is only possible because `String` implements `Unpin`.
+/// mem::replace(&mut *pinned_string, "other".to_string());
 /// ```
 ///
 /// This trait is automatically implemented for almost every type.