[swift-evolution] [Draft] Abolish IUO type

Chris Lattner clattner at apple.com
Thu Mar 17 23:12:02 CDT 2016


> On Mar 17, 2016, at 9:08 PM, Chris Lattner via swift-evolution <swift-evolution at swift.org> wrote:
> 
> On Mar 17, 2016, at 5:50 PM, Brent Royal-Gordon <brent at architechies.com> wrote:
> 
>>> It seems like this unnecessarily complicates the surface model of Swift.  To me, it seems like there is no advantage to having two ways to spell this.
>> 
>>   @autounwrapped let foo = functionReturningOptional()
>> 
>> I *believe* that, without the `@autounwrapped` attribute, there's no way to go from T? to T! without actually restating T somewhere.
> 
> Right, that's part of the feature :-)

Sorry, less snarky answer:

You are right that today it is a regression vs:

let foo : ImplicitlyUnwrappedOptional = ...

However, I have never seen someone actually do that, and if they did, I would observe that the T is a lot more illuminating than the ! part of the type.  Is there a concrete use case you are concerned about?

-Chris



More information about the swift-evolution mailing list