mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Migrate from UnsafePointer<Void> to UnsafeRawPointer. (#3724)
* Migrate from `UnsafePointer<Void>` to `UnsafeRawPointer`. As proposed in SE-0107: UnsafeRawPointer. `void*` imports as `UnsafeMutableRawPointer`. `const void*` imports as `UnsafeRawPointer`. Occurrences of `UnsafePointer<Void>` are replaced with UnsafeRawPointer. * Migrate overlays from UnsafePointer<Void> to UnsafeRawPointer. This requires explicit memory binding in several places, particularly in NSData and CoreAudio. * Fix a bunch of test cases for Void->Raw migration. * qsort takes IUO values * Bridge `Unsafe[Mutable]RawPointer as `void [const] *`. * Parse #dsohandle as UnsafeMutableRawPointer * Update a bunch of test cases for Void->Raw migration. * Trivial fix for the SceneKit test case. * Add an UnsafeRawPointer self initializer. This is unfortunately necessary for assignment between types imported from C. * Tiny simplification of the initializer.
This commit is contained in:
@@ -14,15 +14,13 @@ import SceneKit
|
||||
var SceneKitTests = TestSuite("SceneKit")
|
||||
|
||||
func bytesFromNSData(_ data: NSData) -> [UInt8] {
|
||||
return Array(UnsafeBufferPointer(
|
||||
start: UnsafePointer<UInt8>(data.bytes),
|
||||
count: data.length))
|
||||
let bytePtr = data.bytes.bindMemory(to: UInt8.self, capacity: data.length)
|
||||
return Array(UnsafeBufferPointer(start: bytePtr, count: data.length))
|
||||
}
|
||||
|
||||
func floatsFromNSData(_ data: NSData) -> [Float] {
|
||||
return Array(UnsafeBufferPointer(
|
||||
start: UnsafePointer<Float>(data.bytes),
|
||||
count: data.length / sizeof(Float)))
|
||||
let floatPtr = data.bytes.bindMemory(to: Float.self, capacity: data.length)
|
||||
return Array(UnsafeBufferPointer(start: floatPtr, count: data.length / sizeof(Float)))
|
||||
}
|
||||
|
||||
if #available(iOS 8.0, *) {
|
||||
|
||||
Reference in New Issue
Block a user