File tree Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Expand file tree Collapse file tree 1 file changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -331,19 +331,23 @@ extension NSObject {
331
331
}
332
332
333
333
func withRetainedReference< T, R> ( _ work: @noescape ( UnsafePointer < T > ) -> R ) -> R {
334
- return work ( UnsafePointer < T > ( _CFSwiftRetain ( unsafeBitCast ( self , to: UnsafeMutableRawPointer . self) ) !) )
334
+ let selfPtr = Unmanaged . passRetained ( self ) . toOpaque ( ) . assumingMemoryBound ( to: T . self)
335
+ return work ( selfPtr)
335
336
}
336
337
337
338
func withRetainedReference< T, R> ( _ work: @noescape ( UnsafeMutablePointer < T > ) -> R ) -> R {
338
- return work ( UnsafeMutablePointer < T > ( _CFSwiftRetain ( unsafeBitCast ( self , to: UnsafeMutableRawPointer . self) ) !) )
339
+ let selfPtr = Unmanaged . passRetained ( self ) . toOpaque ( ) . assumingMemoryBound ( to: T . self)
340
+ return work ( selfPtr)
339
341
}
340
342
341
343
func withUnretainedReference< T, R> ( _ work: @noescape ( UnsafePointer < T > ) -> R ) -> R {
342
- return work ( unsafeBitCast ( self , to: UnsafePointer< T> . self ) )
344
+ let selfPtr = Unmanaged . passRetained ( self ) . toOpaque ( ) . assumingMemoryBound ( to: T . self)
345
+ return work ( selfPtr)
343
346
}
344
347
345
348
func withUnretainedReference< T, R> ( _ work: @noescape ( UnsafeMutablePointer < T > ) -> R ) -> R {
346
- return work ( unsafeBitCast ( self , to: UnsafeMutablePointer< T> . self ) )
349
+ let selfPtr = Unmanaged . passRetained ( self ) . toOpaque ( ) . assumingMemoryBound ( to: T . self)
350
+ return work ( selfPtr)
347
351
}
348
352
}
349
353
You can’t perform that action at this time.
0 commit comments