[swift-evolution] protocol can only be used as a generic constraint because it has Self or associated type requirements
tseitz42 at icloud.com
Wed Dec 16 16:49:37 CST 2015
> Am 16.12.2015 um 02:06 schrieb Dave Abrahams <dabrahams at apple.com>:
>> On Dec 15, 2015, at 10:02 AM, Thorsten Seitz <tseitz42 at icloud.com> wrote:
>> Shouldn’t we just narrow the type of protocols with associated types and/or Self types when the protocol is used as a type?
> Then you have the “P doesn’t conform to P” problem, which is too crazy to live. A recent internal discussion led to the idea that we should have notation for the existentially-viable subset of a protocol, so you could always make Array<existential P> but not necessarily Array<P> for an arbitrary protocol P.
Making this narrowing explicit is a good idea!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution