> 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
