diff options
Diffstat (limited to 'vendor/futures-task/src/waker.rs')
-rw-r--r-- | vendor/futures-task/src/waker.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/vendor/futures-task/src/waker.rs b/vendor/futures-task/src/waker.rs index a7310a07a..79112569c 100644 --- a/vendor/futures-task/src/waker.rs +++ b/vendor/futures-task/src/waker.rs @@ -20,7 +20,7 @@ pub fn waker<W>(wake: Arc<W>) -> Waker where W: ArcWake + 'static, { - let ptr = Arc::into_raw(wake) as *const (); + let ptr = Arc::into_raw(wake).cast::<()>(); unsafe { Waker::from_raw(RawWaker::new(ptr, waker_vtable::<W>())) } } @@ -31,7 +31,7 @@ where #[allow(clippy::redundant_clone)] // The clone here isn't actually redundant. unsafe fn increase_refcount<T: ArcWake>(data: *const ()) { // Retain Arc, but don't touch refcount by wrapping in ManuallyDrop - let arc = mem::ManuallyDrop::new(Arc::<T>::from_raw(data as *const T)); + let arc = mem::ManuallyDrop::new(Arc::<T>::from_raw(data.cast::<T>())); // Now increase refcount, but don't drop new refcount either let _arc_clone: mem::ManuallyDrop<_> = arc.clone(); } @@ -43,17 +43,17 @@ unsafe fn clone_arc_raw<T: ArcWake>(data: *const ()) -> RawWaker { } unsafe fn wake_arc_raw<T: ArcWake>(data: *const ()) { - let arc: Arc<T> = Arc::from_raw(data as *const T); + let arc: Arc<T> = Arc::from_raw(data.cast::<T>()); ArcWake::wake(arc); } // used by `waker_ref` unsafe fn wake_by_ref_arc_raw<T: ArcWake>(data: *const ()) { // Retain Arc, but don't touch refcount by wrapping in ManuallyDrop - let arc = mem::ManuallyDrop::new(Arc::<T>::from_raw(data as *const T)); + let arc = mem::ManuallyDrop::new(Arc::<T>::from_raw(data.cast::<T>())); ArcWake::wake_by_ref(&arc); } unsafe fn drop_arc_raw<T: ArcWake>(data: *const ()) { - drop(Arc::<T>::from_raw(data as *const T)) + drop(Arc::<T>::from_raw(data.cast::<T>())) } |