File tree Expand file tree Collapse file tree 2 files changed +9
-1
lines changed Expand file tree Collapse file tree 2 files changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -708,7 +708,9 @@ extension CocoaError: _ObjectiveCBridgeable {
708708 }
709709
710710 public static func _forceBridgeFromObjectiveC( _ x: NSError , result: inout CocoaError ? ) {
711- result = _unconditionallyBridgeFromObjectiveC ( x)
711+ if !_conditionallyBridgeFromObjectiveC( x, result: & result) {
712+ fatalError ( " Unable to bridge \( NSError . self) to \( self ) " )
713+ }
712714 }
713715
714716 public static func _conditionallyBridgeFromObjectiveC( _ x: NSError , result: inout CocoaError ? ) -> Bool {
Original file line number Diff line number Diff line change @@ -222,4 +222,10 @@ class TestCocoaError: XCTestCase {
222222 XCTAssertNotNil ( e. underlying as? POSIXError )
223223 XCTAssertEqual ( e. underlying as? POSIXError , POSIXError . init ( . EACCES) )
224224 }
225+
226+ func test_forceCast( ) {
227+ let nsError = NSError ( domain: NSCocoaErrorDomain, code: CocoaError . coderInvalidValue. rawValue)
228+ let error = nsError as! CocoaError
229+ XCTAssertEqual ( error. errorCode, CocoaError . coderInvalidValue. rawValue)
230+ }
225231}
You can’t perform that action at this time.
0 commit comments