Maybe we should adopt a Swift specific definition of existential, like
"An existential type is a type derived from Any with constraints of
the kinds listed below:"
...
...
...
For example, the 5 kinds of constraint proposed by Austin Zheng.
Not very academic, but might save some discussion.
That would include the existing Protocol as type (no associated type
or Self requirements).
Also Any<ClassName> which equals the class (which hides type
information through automatic upcasting of subclass instances).
A narrower definition might require protocols to be involved somehow
and the resulting type must be new (not equivalent to a class or
struct or enum).
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution