[swift-evolution] Strings in Swift 4

Ben Rimmington me at benrimmington.com
Wed Jan 25 20:10:51 CST 2017


> On 25 Jan 2017, Dave Abrahams wrote:
> 
>> on Tue Jan 24 2017, Ben Rimmington wrote:
>> 
>> Could you include the latest ICU alongside the Swift standard library?
> 
> To what end?

When iOS 10 and macOS 10.12 were released (2016-09-13),
their "libicucore" was based on ICU 57 (2016-03-23),
with support for Unicode 8 (2015-06-17).

They were using a Unicode standard from 15 months ago,
instead of Unicode 9 from 3 months ago (2016-06-21).
This can only be fixed by changing the ICU schedule.

However, the Swift 4 libraries could include ICU 58 now.
They'd have Unicode 9 conformance during implementation,
and also when deployed back to iOS 7 or macOS 10.9.

That's assuming you need ICU 58 for Unicode 9 conformance:
<https://github.com/apple/swift/blob/master/docs/StringManifesto.md#unicode-9-conformance>

> If Swift always uses the latest ICU it will sometimes behave
> inconsistently with Foundation.  If you want to use the latest ICU
> yourself, you can always put it in your app bundle.

I think Linux apps can bundle ICU for swift-corelibs-foundation.
But a Swift 4 app deployed to iOS 7 or macOS 10.9 will be using 
ICU 51 with Unicode 6.2 support.

-- Ben



More information about the swift-evolution mailing list