> On Dec 31, 2015, at 9:47 AM, Matthew Johnson <matt...@anandabits.com> wrote:
> 
>>>>> In the second example here Forwarder does conform to P.  The author of 
>>>>> Forwarder has the flexibility to specify whether conformance is desired 
>>>>> or not.
>>>> 
>>>> There are ways to handle that, including factoring the APIs of interest 
>>>> out of P and into a private protocol Q, then declaring the Forwardee’s 
>>>> conformance to Q.  Now, there’s an expressivity problem with our current 
>>>> access control system that you can’t use an internal or private protocol 
>>>> to provide public API, but that should be fixed separately.
>>> 
>>> I'm not sure where Q comes into play in this specific example.  The idea 
>>> here is that forwarding implementations of all members of P are synthesized 
>>> by the forward declaration.  It is left up to Forwarder to decide whether 
>>> or not to declare actual conformance to P.  I am also confused by "then 
>>> declaring the Forwardee’s conformance to Q" because we are discussing 
>>> Forwarder's conformance here, not Forwardee’s.
>> 
>> Presumably both ends of the forwarding arrangement would have to conform to 
>> the same protocol, no?
> 
> No.  This is addressed in the proposal and the lazy collections motivating 
> example I replied with last night.  I don’t think it’s a good idea to require 
> this.


My only point was that if we’re going to require the forwarder to conform, we 
may as well require it of the forwardee.  I realize that you don’t want to 
require either conformance.

-Dave

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to