Skip to content

Commit b8d694b

Browse files
committed
Expose immortal String initialization for Foundation
1 parent fba8095 commit b8d694b

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

stdlib/public/core/StringBridge.swift

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -661,6 +661,19 @@ internal func _SwiftCreateBridgedString_DoNotCall(
661661
return Unmanaged<AnyObject>.passRetained(str._bridgeToObjectiveCImpl())
662662
}
663663

664+
@available(SwiftStdlib 6.1, *)
665+
@_spi(Foundation) public func _SwiftCreateImmortalString_ForFoundation(
666+
buffer: UnsafeBufferPointer<UInt8>,
667+
isASCII: Bool
668+
) -> String? {
669+
switch validateUTF8(buffer) {
670+
case .success(let extraInfo):
671+
return String(_StringGuts(buffer, isASCII: extraInfo.isASCII))
672+
default:
673+
return nil
674+
}
675+
}
676+
664677
// At runtime, this class is derived from `__SwiftNativeNSStringBase`,
665678
// which is derived from `NSString`.
666679
//

0 commit comments

Comments
 (0)