From cefd0cebd533c3254f7afc59f71b587590efefe3 Mon Sep 17 00:00:00 2001 From: Andrew Trick Date: Mon, 25 Jul 2016 18:01:40 -0700 Subject: [PATCH] Update for SE-0107: Migrate Void->Raw. Unsafe[Mutable]Pointer is replaced by Unsafe[Mutable]RawPointer. Migrating often means simply removing casts to/from UnsafePointer and working directly with UnsafeRawPointer instead. Unfortunately some API's, like NSData still want UnsafePointer, which requires "binding" memory to UInt8 before passing it to the API. --- src/swift/Data.swift | 12 ++++++------ src/swift/Private.swift | 12 ++++++------ src/swift/Queue.swift | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/swift/Data.swift b/src/swift/Data.swift index 9d68ad3ad..b8271f63e 100644 --- a/src/swift/Data.swift +++ b/src/swift/Data.swift @@ -76,7 +76,7 @@ public struct DispatchData : RandomAccessCollection { public func withUnsafeBytes( body: @noescape (UnsafePointer) throws -> Result) rethrows -> Result { - var ptr: UnsafePointer? = nil + var ptr: UnsafeRawPointer? = nil var size = 0; let data = CDispatch.dispatch_data_create_map(__wrapped.__wrapped, &ptr, &size) defer { _fixLifetime(data) } @@ -86,7 +86,7 @@ public struct DispatchData : RandomAccessCollection { public func enumerateBytes( block: @noescape (buffer: UnsafeBufferPointer, byteIndex: Int, stop: inout Bool) -> Void) { - _swift_dispatch_data_apply(__wrapped.__wrapped) { (data: dispatch_data_t, offset: Int, ptr: UnsafePointer, size: Int) in + _swift_dispatch_data_apply(__wrapped.__wrapped) { (data: dispatch_data_t, offset: Int, ptr: UnsafeRawPointer, size: Int) in let bp = UnsafeBufferPointer(start: UnsafePointer(ptr), count: size) var stop = false block(buffer: bp, byteIndex: offset, stop: &stop) @@ -120,7 +120,7 @@ public struct DispatchData : RandomAccessCollection { private func _copyBytesHelper(to pointer: UnsafeMutablePointer, from range: CountableRange) { var copiedCount = 0 - _ = CDispatch.dispatch_data_apply(__wrapped.__wrapped) { (data: dispatch_data_t, offset: Int, ptr: UnsafePointer, size: Int) in + _ = CDispatch.dispatch_data_apply(__wrapped.__wrapped) { (data: dispatch_data_t, offset: Int, ptr: UnsafeRawPointer, size: Int) in let limit = Swift.min((range.endIndex - range.startIndex) - copiedCount, size) memcpy(pointer + copiedCount, ptr, limit) copiedCount += limit @@ -183,7 +183,7 @@ public struct DispatchData : RandomAccessCollection { var offset = 0 let subdata = CDispatch.dispatch_data_copy_region(__wrapped.__wrapped, index, &offset) - var ptr: UnsafePointer? = nil + var ptr: UnsafeRawPointer? = nil var size = 0 let map = CDispatch.dispatch_data_create_map(subdata, &ptr, &size) defer { _fixLifetime(map) } @@ -239,7 +239,7 @@ public struct DispatchDataIterator : IteratorProtocol, Sequence { /// Create an iterator over the given DisaptchData public init(_data: DispatchData) { - var ptr: UnsafePointer? + var ptr: UnsafeRawPointer? self._count = 0 self._data = __DispatchData(data: CDispatch.dispatch_data_create_map(_data.__wrapped.__wrapped, &ptr, &self._count)) self._ptr = UnsafePointer(ptr) @@ -264,7 +264,7 @@ public struct DispatchDataIterator : IteratorProtocol, Sequence { internal var _position: DispatchData.Index } -typealias _swift_data_applier = @convention(block) @noescape (dispatch_data_t, Int, UnsafePointer, Int) -> Bool +typealias _swift_data_applier = @convention(block) @noescape (dispatch_data_t, Int, UnsafeRawPointer, Int) -> Bool @_silgen_name("_swift_dispatch_data_apply") internal func _swift_dispatch_data_apply(_ data: dispatch_data_t, _ block: _swift_data_applier) diff --git a/src/swift/Private.swift b/src/swift/Private.swift index e38f72861..0d177d0ae 100644 --- a/src/swift/Private.swift +++ b/src/swift/Private.swift @@ -69,7 +69,7 @@ func dispatch_write(_ fd: Int32, _ data: dispatch_data_t, _ queue: DispatchQueue } @available(*, unavailable, renamed:"DispatchData.init(bytes:)") -public func dispatch_data_create(_ buffer: UnsafePointer, _ size: Int, _ queue: DispatchQueue?, _ destructor: (() -> Void)?) -> dispatch_data_t +public func dispatch_data_create(_ buffer: UnsafeRawPointer, _ size: Int, _ queue: DispatchQueue?, _ destructor: (() -> Void)?) -> dispatch_data_t { fatalError() } @@ -81,7 +81,7 @@ public func dispatch_data_get_size(_ data: dispatch_data_t) -> Int } @available(*, unavailable, renamed:"DispatchData.withUnsafeBytes(self:body:)") -public func dispatch_data_create_map(_ data: dispatch_data_t, _ buffer_ptr: UnsafeMutablePointer?>?, _ size_ptr: UnsafeMutablePointer?) -> dispatch_data_t +public func dispatch_data_create_map(_ data: dispatch_data_t, _ buffer_ptr: UnsafeMutablePointer?, _ size_ptr: UnsafeMutablePointer?) -> dispatch_data_t { fatalError() } @@ -99,7 +99,7 @@ public func dispatch_data_create_subrange(_ data: dispatch_data_t, _ offset: Int } @available(*, unavailable, renamed:"DispatchData.enumerateBytes(self:block:)") -public func dispatch_data_apply(_ data: dispatch_data_t, _ applier: (dispatch_data_t, Int, UnsafePointer, Int) -> Bool) -> Bool +public func dispatch_data_apply(_ data: dispatch_data_t, _ applier: (dispatch_data_t, Int, UnsafeRawPointer, Int) -> Bool) -> Bool { fatalError() } @@ -213,19 +213,19 @@ public func dispatch_barrier_sync(_ queue: DispatchQueue, _ block: @noescape () } @available(*, unavailable, renamed:"DispatchQueue.setSpecific(self:key:value:)") -public func dispatch_queue_set_specific(_ queue: DispatchQueue, _ key: UnsafePointer, _ context: UnsafeMutablePointer?, _ destructor: (@convention(c) (UnsafeMutablePointer?) -> Void)?) +public func dispatch_queue_set_specific(_ queue: DispatchQueue, _ key: UnsafeRawPointer, _ context: UnsafeMutableRawPointer?, _ destructor: (@convention(c) (UnsafeMutableRawPointer?) -> Void)?) { fatalError() } @available(*, unavailable, renamed:"DispatchQueue.getSpecific(self:key:)") -public func dispatch_queue_get_specific(_ queue: DispatchQueue, _ key: UnsafePointer) -> UnsafeMutablePointer? +public func dispatch_queue_get_specific(_ queue: DispatchQueue, _ key: UnsafeRawPointer) -> UnsafeMutableRawPointer? { fatalError() } @available(*, unavailable, renamed:"DispatchQueue.getSpecific(key:)") -public func dispatch_get_specific(_ key: UnsafePointer) -> UnsafeMutablePointer? +public func dispatch_get_specific(_ key: UnsafeRawPointer) -> UnsafeMutableRawPointer? { fatalError() } diff --git a/src/swift/Queue.swift b/src/swift/Queue.swift index 2a8c70189..c996f0ffb 100644 --- a/src/swift/Queue.swift +++ b/src/swift/Queue.swift @@ -402,7 +402,7 @@ extension DispatchQueue { } } -private func _destructDispatchSpecificValue(ptr: UnsafeMutablePointer?) { +private func _destructDispatchSpecificValue(ptr: UnsafeMutableRawPointer?) { if let p = ptr { Unmanaged.fromOpaque(p).release() }