> On May 17, 2016, at 1:27 PM, Matthew Johnson via swift-evolution > <[email protected]> wrote: > > >> On May 17, 2016, at 3:06 PM, Austin Zheng <[email protected]> wrote: >> >> I'm honestly not sure it makes sense to introduce a proposal just for >> expressing <Class, Protocol, Protocol> style requirements, and then trying >> to retrofit fuller support for other existentials onto it. I would prefer >> that the 'basic package' of existential cases be considered together as a >> single proposal, unless a core team member expresses their preference >> otherwise. > > It also renames protocol<> to Any, but fair enough. > > One reason to keep it separate is that the rename is a breaking change and we > should really try to get that into Swift 3. Generalizing existentials is an > additive change. I would love to have that in Swift 3 as well, but if it’s > not going to make it I don’t think it should hold back the smaller change > which is a breaking change. > > Doug, any opinion on this?
I agree with this. If we're certain we should reskin protocol<> as Any<>, we should frontload that change—in addition to affecting source code, it'd also influence the runtime behavior of type printing/parsing, which can't be statically migrated in the future. I think any discussion of extending existentials has to be considered out of scope for Swift 3, though, so the Any rename deserves its own proposal. -Joe _______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
