summaryrefslogtreecommitdiffstats
path: root/tokio/src/task/tests/task.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tokio/src/task/tests/task.rs')
-rw-r--r--tokio/src/task/tests/task.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/tokio/src/task/tests/task.rs b/tokio/src/task/tests/task.rs
index 8f5fec1b..0cff4295 100644
--- a/tokio/src/task/tests/task.rs
+++ b/tokio/src/task/tests/task.rs
@@ -641,3 +641,21 @@ fn shutdown_from_task_after_notified() {
assert_ready_err!(handle.poll());
}
+
+#[test]
+fn waker_ref_will_wake_clone() {
+ use std::task::Poll::Ready;
+
+ let (task, handle) = task::joinable(poll_fn(|cx| {
+ let waker = cx.waker().clone();
+ assert!(cx.waker().will_wake(&waker));
+ Ready(())
+ }));
+ let mut handle = spawn(handle);
+
+ let mock = mock().bind(&task).release_local();
+ let mock = &mut || Some(From::from(&mock));
+
+ assert_none!(task.run(mock));
+ assert_ready_ok!(handle.poll());
+}