[swift-evolution] [Review] SE-0156: Class and Subtype existentials

Joe Groff jgroff at apple.com
Tue Feb 28 18:42:15 CST 2017


> On Feb 28, 2017, at 2:28 PM, Matthew Johnson via swift-evolution <swift-evolution at swift.org> wrote:
> 
>> 
>> On Feb 28, 2017, at 4:14 PM, David Hart <david at hartbit.com> wrote:
>> 
>> 
>>> On 28 Feb 2017, at 22:45, Matthew Johnson via swift-evolution <swift-evolution at swift.org> wrote:
>>> 
>>>> 
>>>> 	• What is your evaluation of the proposal?
>>> +1, this is a fantastic proposal!  I
>>> 
>>> The proposal does not specifically call out whether a class may inherit from a subclass of a superclass constraint when a typealias is used in the inheritance list.  I believe the following should be valid, but it would be a good idea to make that explicit:
>>> 
>>> class B {}
>>> class D: B {}
>>> protocol P {}
>>> typealias BP = B & P
>>> 
>>> class Foo: D, BP
>> 
>> It’s true that the proposal is not very clear about that specific scenario, but I see it as valid. I touched about it in the “inheritance clauses and typealias” section but only mentioned inheritance from the class in the constraint. But rule 2 of the proposal kind of implies it: the first element in the protocol composition syntax can be a class type to enforce the existential to be a subtype of the class.
>> 
>> It would be worth being more precise about it, but not sure how a proposal can be *fixed* during review.
> 
> I think proposals have occasionally seen this kind of clarification during review.  In any case, thanks for confirming your intent.  I just wanted to make sure this is what you expected also.

Yeah, I don't see any problem clarifying intent and making minor revisions to the proposal in response to review feedback.

-Joe


More information about the swift-evolution mailing list