[swift-evolution] Subclass Existentials

Austin Zheng austinzheng at gmail.com
Sun Jan 29 12:41:09 CST 2017

The "class comes first" requirement made more sense when the proposed syntax was still "Any<T, U, V>", intentionally mirroring how the superclass and conformances are declared on a class declaration (the archives contain more detailed arguments, both pro and con). Now that the syntax is "T & U & V", I agree that privileging the class requirement is counterintuitive and probably unhelpful.


> On Jan 29, 2017, at 10:37 AM, Matt Whiteside via swift-evolution <swift-evolution at swift.org> wrote:
> Thanks for writing this proposal David.  
>> On Jan 29, 2017, at 10:13, Xiaodi Wu via swift-evolution <swift-evolution at swift.org> wrote:
>> As Matthew mentioned, the rules can certainly later be relaxed, but given that this proposal has the compiler generating fix-its for subclasses in second position, is there a reason other than stylistic for demanding MyClass & MyProtocol instead of MyProtocol & MyClass?
>> From a naive perspective, it seems that if the compiler understands my meaning perfectly, it should just accept that spelling rather than complain.
> I had that thought too.  Since ‘and’ is a symmetric operation, requiring the class to be in the first position seems counter-intuitive.
> -Matt
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

More information about the swift-evolution mailing list