on Thu Apr 21 2016, Chris Willmore <[email protected]> wrote:

> I evaluated the effects of this proposal on five projects written in Swift
> against Foundation and other well-audited OS X and iOS Objective-C APIs. The
> only changes that had to be made were the result of Objective-C API in the
> project itself that had not yet been annotated with nullability information. 
> In
> addition, it ended up revealing a programming error in one project where a
> property had been unintentionally inferred to have IUO type. I presented these
> results at the Swift core team review meeting.
>
> Jordan Rose expressed some concern that this sampling of projects didn’t 
> really
> say anything about the effect of these changes on projects that depend on
> unaudited API, especially the Linux case. So I investigated the effect of this
> proposal on building swiftpm, which makes extensive use of POSIX C API. It 
> ended
> up requiring ten new uses of the ! operator (out of 14k lines of Swift) to get
> building again; they were all return values from C API (ctime_r, getcwd, 
> getenv,
> strerror, realpath) that had been saved to intermediate variables. Jordan
> observes that most of the cases are better expressed with “if let” or “guard
> let” statements anyway.
>
> We have concluded that we should move forward with implementing the
> proposal.

NICE!

-- 
Dave

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to