summaryrefslogtreecommitdiffstats
path: root/tokio-test
diff options
context:
space:
mode:
Diffstat (limited to 'tokio-test')
-rw-r--r--tokio-test/src/task.rs12
1 files changed, 4 insertions, 8 deletions
diff --git a/tokio-test/src/task.rs b/tokio-test/src/task.rs
index b31850ba..82d29134 100644
--- a/tokio-test/src/task.rs
+++ b/tokio-test/src/task.rs
@@ -119,20 +119,16 @@ impl<T: Stream> Spawn<T> {
impl<T: Future> Future for Spawn<T> {
type Output = T::Output;
- fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
- // Safety: we only expose &mut T if T: Unpin therefore this is safe.
- let future = unsafe { self.map_unchecked_mut(|s| &mut s.future) };
- future.poll(cx)
+ fn poll(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output> {
+ self.future.as_mut().poll(cx)
}
}
impl<T: Stream> Stream for Spawn<T> {
type Item = T::Item;
- fn poll_next(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> {
- // Safety: we only expose &mut T if T: Unpin therefore this is safe.
- let stream = unsafe { self.map_unchecked_mut(|s| &mut s.future) };
- stream.poll_next(cx)
+ fn poll_next(mut self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Option<Self::Item>> {
+ self.future.as_mut().poll_next(cx)
}
}