<https://github.com/apple/swift-evolution/blob/master/proposals/0134-rename-string-properties.md>
My suggestion for SE-0134 is to use the `utf8CString` name, overloading for CSignedChar and CUnsignedChar: <https://github.com/apple/swift/blob/master/stdlib/public/core/CString.swift> extension String { - init(cString: UnsafePointer<CChar>) - init(cString: UnsafePointer<UInt8>) - init?(validatingUTF8 cString: UnsafePointer<CChar>) + init(utf8CString: UnsafePointer<CSignedChar>) + init(utf8CString: UnsafePointer<CUnsignedChar>) + init?(validatingUTF8CString: UnsafePointer<CSignedChar>) + init?(validatingUTF8CString: UnsafePointer<CUnsignedChar>) } The properties would change to methods, overloaded by return type: <https://github.com/apple/swift/blob/master/stdlib/public/core/StringUTF8.swift> extension String { - var nulTerminatedUTF8CString: ContiguousArray<CChar> - var nulTerminatedUTF8: ContiguousArray<UTF8.CodeUnit> + func utf8CString() -> ContiguousArray<CSignedChar> + func utf8CString() -> ContiguousArray<CUnsignedChar> } ## NOTES ## UTF8.CodeUnit is defined as UInt8, and CChar is currently defined as Int8: <https://github.com/apple/swift/blob/master/stdlib/public/core/CTypes.swift> /// The C 'char' type. /// /// This will be the same as either `CSignedChar` (in the common /// case) or `CUnsignedChar`, depending on the platform. public typealias CChar = Int8 /// The C 'signed char' type. public typealias CSignedChar = Int8 /// The C 'unsigned char' type. public typealias CUnsignedChar = UInt8 There's an abandoned proposal to update CChar: <http://thread.gmane.org/gmane.comp.lang.swift.evolution/7925/focus=8158> <http://thread.gmane.org/gmane.comp.lang.swift.evolution/8419> String.init(cString: UnsafePointer<UInt8>) and nulTerminatedUTF8CString were added by SE-0107: <https://github.com/apple/swift-evolution/blob/master/proposals/0107-unsaferawpointer.md#cstring-conversion> <https://github.com/apple/swift/commit/c7aa8284c905a73959ad69255cb56c38db80d039> Foundation.NSString uses the `utf8String` name instead: <https://developer.apple.com/reference/foundation/nsstring/1412128-init> <https://developer.apple.com/reference/foundation/nsstring/1411189-utf8string> -- Ben _______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution