Skip to content

Commit 0b7e522

Browse files
millenomimundaym
authored andcommitted
The compiler doesn’t support bridging these types; cast unsafely, and note it is so.
1 parent 7913e39 commit 0b7e522

File tree

4 files changed

+5
-5
lines changed

4 files changed

+5
-5
lines changed

Foundation/NSError.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,8 +222,8 @@ extension CFError : _NSBridgeable {
222222

223223
public struct _CFErrorSPIForFoundationXMLUseOnly {
224224
let error: CFError
225-
public init(_ error: AnyObject) {
226-
self.error = error as! CFError
225+
public init(unsafelyAssumingIsCFError error: AnyObject) {
226+
self.error = unsafeBitCast(error, to: CFError.self)
227227
}
228228

229229
public var _nsObject: NSError {

Foundation/XMLDTD.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ open class XMLDTD : XMLNode {
4444

4545
guard let node = _CFXMLParseDTDFromData(unsafeBitCast(data as NSData, to: CFData.self), &unmanagedError) else {
4646
if let error = unmanagedError?.takeRetainedValue() {
47-
throw _CFErrorSPIForFoundationXMLUseOnly(error)._nsObject
47+
throw _CFErrorSPIForFoundationXMLUseOnly(unsafelyAssumingIsCFError: error)._nsObject
4848
}
4949
//TODO: throw a generic error?
5050
fatalError("parsing dtd from data failed")

Foundation/XMLDocument.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ open class XMLDocument : XMLNode {
363363
if !result,
364364
let unmanagedError = unmanagedError {
365365
let error = unmanagedError.takeRetainedValue()
366-
throw _CFErrorSPIForFoundationXMLUseOnly(error)._nsObject
366+
throw _CFErrorSPIForFoundationXMLUseOnly(unsafelyAssumingIsCFError: error)._nsObject
367367
}
368368
}
369369

Foundation/XMLParser.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ internal func _NSXMLParserExternalSubset(_ ctx: _CFXMLInterface, name: UnsafePoi
384384

385385
internal func _structuredErrorFunc(_ interface: _CFXMLInterface, error: _CFXMLInterfaceError) {
386386
let cferr = _CFErrorCreateFromXMLInterface(error)
387-
let err = _CFErrorSPIForFoundationXMLUseOnly(cferr)._nsObject
387+
let err = _CFErrorSPIForFoundationXMLUseOnly(unsafelyAssumingIsCFError: cferr)._nsObject
388388
let parser = interface.parser
389389
parser._parserError = err
390390
if let delegate = parser.delegate {

0 commit comments

Comments
 (0)