Re: <https://github.com/apple/swift-evolution/pull/662>
### C String Interop Will the `init(cString: UnsafePointer<UInt8>)` API be deprecated in Swift 4 mode? <https://github.com/apple/swift/blob/8f3bc160c56461789261d2555dc5485c0484aad5/stdlib/public/core/CString.swift#L55-L63> It was added by SE-0107 to avoid unsafe pointer conversions: <https://github.com/apple/swift-evolution/blob/master/proposals/0107-unsaferawpointer.md#cstring-conversion> ### C Primitive Types Will the `CChar` typealias be *unsigned* on some platforms? <https://github.com/apple/swift/blob/8f3bc160c56461789261d2555dc5485c0484aad5/stdlib/public/core/CTypes.swift#L15-L19> Could some of those typealiases in CTypes.swift be moved to a C header, so that they're always imported as the correct types for each platform? //===--- CTypes.h ------===// typedef char CChar; typedef signed char CSignedChar; typedef unsigned char CUnsignedChar; typedef short CShort; typedef unsigned short CUnsignedShort; typedef int CInt; typedef unsigned int CUnsignedInt; typedef long CLong; typedef unsigned long CUnsignedLong; typedef long long CLongLong; typedef unsigned long long CUnsignedLongLong; typedef float CFloat; typedef double CDouble; For example, CTypes.swift for 64-bit Windows currently has: * `CLong = Int32` versus `CUnsignedLong = UInt`, * `CLongLong = Int` versus `CUnsignedLongLong = UInt64`. _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
