@@ -20,7 +20,7 @@ pub fn waker<W>(wake: Arc<W>) -> Waker
20
20
where
21
21
W : ArcWake + ' static ,
22
22
{
23
- let ptr = Arc :: into_raw ( wake) as * const ( ) ;
23
+ let ptr = Arc :: into_raw ( wake) . cast :: < ( ) > ( ) ;
24
24
25
25
unsafe { Waker :: from_raw ( RawWaker :: new ( ptr, waker_vtable :: < W > ( ) ) ) }
26
26
}
31
31
#[ allow( clippy:: redundant_clone) ] // The clone here isn't actually redundant.
32
32
unsafe fn increase_refcount < T : ArcWake > ( data : * const ( ) ) {
33
33
// Retain Arc, but don't touch refcount by wrapping in ManuallyDrop
34
- let arc = mem:: ManuallyDrop :: new ( Arc :: < T > :: from_raw ( data as * const T ) ) ;
34
+ let arc = mem:: ManuallyDrop :: new ( Arc :: < T > :: from_raw ( data. cast :: < T > ( ) ) ) ;
35
35
// Now increase refcount, but don't drop new refcount either
36
36
let _arc_clone: mem:: ManuallyDrop < _ > = arc. clone ( ) ;
37
37
}
@@ -43,17 +43,17 @@ unsafe fn clone_arc_raw<T: ArcWake>(data: *const ()) -> RawWaker {
43
43
}
44
44
45
45
unsafe fn wake_arc_raw < T : ArcWake > ( data : * const ( ) ) {
46
- let arc: Arc < T > = Arc :: from_raw ( data as * const T ) ;
46
+ let arc: Arc < T > = Arc :: from_raw ( data. cast :: < T > ( ) ) ;
47
47
ArcWake :: wake ( arc) ;
48
48
}
49
49
50
50
// used by `waker_ref`
51
51
unsafe fn wake_by_ref_arc_raw < T : ArcWake > ( data : * const ( ) ) {
52
52
// Retain Arc, but don't touch refcount by wrapping in ManuallyDrop
53
- let arc = mem:: ManuallyDrop :: new ( Arc :: < T > :: from_raw ( data as * const T ) ) ;
53
+ let arc = mem:: ManuallyDrop :: new ( Arc :: < T > :: from_raw ( data. cast :: < T > ( ) ) ) ;
54
54
ArcWake :: wake_by_ref ( & arc) ;
55
55
}
56
56
57
57
unsafe fn drop_arc_raw < T : ArcWake > ( data : * const ( ) ) {
58
- drop ( Arc :: < T > :: from_raw ( data as * const T ) )
58
+ drop ( Arc :: < T > :: from_raw ( data. cast :: < T > ( ) ) )
59
59
}
0 commit comments