> On Jun 21, 2016, at 1:39 PM, Jonathan Cotton via swift-evolution 
> <[email protected]> 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.

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

Reply via email to