[swift-evolution] Strings in Swift 4

Dave Abrahams dabrahams at apple.com
Wed Jan 25 22:17:56 CST 2017


on Wed Jan 25 2017, Ben Rimmington <me-AT-benrimmington.com> wrote:

>> 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.

...and would be inconsistent with Foundation on MacOS and iOS, and until
Swift is embedded in the OS, would grow the size of iOS apps by a lot.
I'm pretty sure that's not an acceptable state of affairs.

> 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

-- 
-Dave


More information about the swift-evolution mailing list