[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