about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorMatthias Einwag <matthias.einwag@live.com>2019-02-05 01:14:09 -0800
committerMatthias Einwag <matthias.einwag@live.com>2019-02-05 01:14:09 -0800
commite1ec81459da4ba8e0633d90ddf440522a1587f35 (patch)
tree5a58aa3a9848468c5cb57ff184e17e5260acf071 /src/libcore
parentf005e1c5d72c775bbb4370e9d8031fbc74efe4eb (diff)
downloadrust-e1ec81459da4ba8e0633d90ddf440522a1587f35.tar.gz
rust-e1ec81459da4ba8e0633d90ddf440522a1587f35.zip
Apply more review suggestions
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/future/future.rs8
-rw-r--r--src/libcore/task/wake.rs6
2 files changed, 11 insertions, 3 deletions
diff --git a/src/libcore/future/future.rs b/src/libcore/future/future.rs
index c4004524542..470143d797a 100644
--- a/src/libcore/future/future.rs
+++ b/src/libcore/future/future.rs
@@ -19,7 +19,8 @@ use task::{Poll, Waker};
 /// final value. This method does not block if the value is not ready. Instead,
 /// the current task is scheduled to be woken up when it's possible to make
 /// further progress by `poll`ing again. The wake up is performed using
-/// `cx.waker()`, a handle for waking up the current task.
+/// the `waker` argument of the `poll()` method, which is a handle for waking
+/// up the current task.
 ///
 /// When using a future, you generally won't call `poll` directly, but instead
 /// `await!` the value.
@@ -78,8 +79,9 @@ pub trait Future {
     ///
     /// Once a future has completed (returned `Ready` from `poll`),
     /// then any future calls to `poll` may panic, block forever, or otherwise
-    /// cause bad behavior. The `Future` trait itself provides no guarantees
-    /// about the behavior of `poll` after a future has completed.
+    /// cause any kind of bad behavior expect causing memory unsafety.
+    /// The `Future` trait itself provides no guarantees about the behavior
+    /// of `poll` after a future has completed.
     ///
     /// [`Poll::Pending`]: ../task/enum.Poll.html#variant.Pending
     /// [`Poll::Ready(val)`]: ../task/enum.Poll.html#variant.Ready
diff --git a/src/libcore/task/wake.rs b/src/libcore/task/wake.rs
index fe2de61c594..1f42d3e2690 100644
--- a/src/libcore/task/wake.rs
+++ b/src/libcore/task/wake.rs
@@ -42,6 +42,9 @@ pub struct RawWakerVTable {
 
     /// This function will be called when `wake` is called on the [`Waker`].
     /// It must wake up the task associated with this [`RawWaker`].
+    ///
+    /// The implemention of this function must not consume the provided data
+    /// pointer.
     pub wake: unsafe fn(*const ()),
 
     /// This function gets called when a [`RawWaker`] gets dropped.
@@ -125,7 +128,10 @@ impl Drop for Waker {
 
 impl fmt::Debug for Waker {
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+        let vtable_ptr = self.waker.vtable as *const RawWakerVTable;
         f.debug_struct("Waker")
+            .field("data", &self.waker.data)
+            .field("vtable", &vtable_ptr)
             .finish()
     }
 }