[swift-evolution] [swift-evolution-announce] [Review] SE-0089: Replace protocol<P1, P2> syntax with Any<P1, P2>

Adrian Zubarev adrian.zubarev at devandartist.com
Thu May 26 12:23:37 CDT 2016

I’m not against Any<…> or something, I just wanted to throw this in the room because I’ve seen someone being confused about what Any<…> might mean. The generic manifesto has a nice wordplay that explains the true meaning: “Any type that conforms to … (all constraints) … .”

But someone might still think that this type awaits any type from within the angle brackets (something like oneOf<A, B>).

Adrian Zubarev
Sent with Airmail

Am 26. Mai 2016 bei 19:15:19, Dave Abrahams via swift-evolution (swift-evolution at swift.org) schrieb:

on Thu May 26 2016, Adrian Zubarev <swift-evolution at swift.org> wrote:

> There is great feedback going on here. I'd like to consider a few things here:
> * What if we name the whole thing `Existential<>` to sort out all
> confusion?

Some of us believe that “existential” is way too theoretical a word to
force into the official lexicon of Swift. I think “Any<...>” is much
more conceptually accessible.

> This would allow `typealias Any = Existential<>`. * Should
> `protocol A: Any<class>` replace `protocol A: class`? Or at least
> deprecate it. * Do we need `typealias AnyClass = Any<class>` or do we
> want to use any class requirement existential directly? If second, we
> will need to allow direct existential usage on protocols (right now we
> only can use typealiases as a worksround).


swift-evolution mailing list
swift-evolution at swift.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160526/a5759ca9/attachment.html>

More information about the swift-evolution mailing list