[swift-evolution] [Draft] Abolish IUO type
Chris Lattner
clattner at apple.com
Wed Mar 16 22:39:56 CDT 2016
> On Mar 16, 2016, at 6:44 PM, Brent Royal-Gordon via swift-evolution <swift-evolution at swift.org> wrote:
>
>> Let me play devil’s advocate: why not just get rid of implicit unwrapping entirely?
>>
>> Apple’s Objective-C APIs have had plenty of time to be audited by now.
>
> Two reasons:
>
> 1. There are still a number of obscure Apple frameworks which have not been audited.
>
> 2. Not all imported code comes from Apple frameworks. In particular, Linux is a whole new world of unaudited—and frankly, probably never-going-to-be-audited in large part—code. Each time Swift moves to a new platform, it will need implicit unwrapping again for a few years while the major libraries get audited. Burning your ships is only a good motivational strategy if you don't need to go anywhere else.
Right, I’d add:
3. IUO is important for existing C or ObjC codebases that want to move incrementally to Swift through the mix-and-match story. It would be unfortunate to require a nullability audit of everything that came in before you’d have a useful API to work with.
-Chris
More information about the swift-evolution
mailing list