> On Jun 21, 2016, at 9:55 PM, Chris Lattner <clatt...@apple.com> wrote:
> 
> 
>> On Jun 21, 2016, at 1:39 PM, Jonathan Cotton via swift-evolution 
>> <swift-evolution@swift.org> wrote:
>> 
>> I was also surprised this type still exists as I'd taken that the proposal 
>> was for the removal of IUO as an explicit type, but after some testing of 
>> IUO propagation behaviour in Swift 3.0, I'm happy to report the behaviour 
>> has been changed to meet the desired behaviour in the spec, specifically, I 
>> now don't need to define a separate interface signature to specifically 
>> expect type T!
> 
> I think that there is some confusion here: it is true that IUO exists 
> internally as a type within the compiler, but the idea of our current 
> implementation is that that is just an implementation detail within the 
> compiler (similar to LValueType, which has no user syntax), not an exposed 
> part of the programmer model.
> 
> That said, the “T!” *syntax* is intended to stay in Swift.  This is the way 
> to model the IUO declaration modifier, as outlined in the proposal.

As implemented in the seed, T! still leaks into the user type system.

-Joe
_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to