Skip to content

Commit b8c9d8f

Browse files
authored
Merge pull request #18799 from hamishknight/ub-good-now
[overlays] Clean up some sources of undefined behaviour
2 parents c66fcf2 + 8270b38 commit b8c9d8f

File tree

3 files changed

+9
-8
lines changed

3 files changed

+9
-8
lines changed

stdlib/public/SDK/CoreGraphics/CoreGraphics.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ extension CGAffineTransform : Codable {
517517

518518
extension CGImage {
519519
public func copy(maskingColorComponents components: [CGFloat]) -> CGImage? {
520-
return self.__copy(maskingColorComponents: UnsafePointer(components))
520+
return self.__copy(maskingColorComponents: components)
521521
}
522522
}
523523

stdlib/public/SDK/Metal/Metal.swift

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,11 @@ extension MTLDevice {
100100
@available(swift 4)
101101
@available(macOS 10.13, *)
102102
public func MTLCopyAllDevicesWithObserver(handler: @escaping MTLDeviceNotificationHandler) -> (devices:[MTLDevice], observer:NSObject) {
103-
var resultTuple: (devices:[MTLDevice], observer:NSObject)
104-
resultTuple.observer = NSObject()
105-
resultTuple.devices = __MTLCopyAllDevicesWithObserver(AutoreleasingUnsafeMutablePointer<NSObjectProtocol?>(&resultTuple.observer), handler)
106-
return resultTuple
103+
var observer: NSObjectProtocol?
104+
let devices = __MTLCopyAllDevicesWithObserver(&observer, handler)
105+
// FIXME: The force cast here isn't great – ideally we would return the
106+
// observer as an NSObjectProtocol.
107+
return (devices, observer as! NSObject)
107108
}
108109
#endif
109110

stdlib/public/SDK/SceneKit/SceneKit.swift.gyb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,15 +179,15 @@ extension SCNGeometryElement {
179179
extension SCNGeometrySource {
180180
@nonobjc
181181
public convenience init(vertices: [SCNVector3]) {
182-
self.init(vertices: UnsafePointer(vertices), count: vertices.count)
182+
self.init(vertices: vertices, count: vertices.count)
183183
}
184184
@nonobjc
185185
public convenience init(normals: [SCNVector3]) {
186-
self.init(normals: UnsafePointer(normals), count: normals.count)
186+
self.init(normals: normals, count: normals.count)
187187
}
188188
@nonobjc
189189
public convenience init(textureCoordinates: [CGPoint]) {
190-
self.init(textureCoordinates: UnsafePointer(textureCoordinates), count: textureCoordinates.count)
190+
self.init(textureCoordinates: textureCoordinates, count: textureCoordinates.count)
191191
}
192192
}
193193

0 commit comments

Comments
 (0)