> 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