Skip to content

Commit 848fbc8

Browse files
committed
Revert "Use Unmanaged.passRetained(self).toOpaque() in NSObject.withRetainedReference."
This reverts commit f9a3ea1.
1 parent b8e9008 commit 848fbc8

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

Foundation/NSSwiftRuntime.swift

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -331,23 +331,19 @@ extension NSObject {
331331
}
332332

333333
func withRetainedReference<T, R>(_ work: @noescape (UnsafePointer<T>) -> R) -> R {
334-
let selfPtr = Unmanaged.passRetained(self).toOpaque().assumingMemoryBound(to: T.self)
335-
return work(selfPtr)
334+
return work(UnsafePointer<T>(_CFSwiftRetain(unsafeBitCast(self, to: UnsafeMutableRawPointer.self))!))
336335
}
337336

338337
func withRetainedReference<T, R>(_ work: @noescape (UnsafeMutablePointer<T>) -> R) -> R {
339-
let selfPtr = Unmanaged.passRetained(self).toOpaque().assumingMemoryBound(to: T.self)
340-
return work(selfPtr)
338+
return work(UnsafeMutablePointer<T>(_CFSwiftRetain(unsafeBitCast(self, to: UnsafeMutableRawPointer.self))!))
341339
}
342340

343341
func withUnretainedReference<T, R>(_ work: @noescape (UnsafePointer<T>) -> R) -> R {
344-
let selfPtr = Unmanaged.passRetained(self).toOpaque().assumingMemoryBound(to: T.self)
345-
return work(selfPtr)
342+
return work(unsafeBitCast(self, to: UnsafePointer<T>.self))
346343
}
347344

348345
func withUnretainedReference<T, R>(_ work: @noescape (UnsafeMutablePointer<T>) -> R) -> R {
349-
let selfPtr = Unmanaged.passRetained(self).toOpaque().assumingMemoryBound(to: T.self)
350-
return work(selfPtr)
346+
return work(unsafeBitCast(self, to: UnsafeMutablePointer<T>.self))
351347
}
352348
}
353349

0 commit comments

Comments
 (0)