> On Jan 17, 2017, at 9:33 PM, David Sweeris via swift-evolution > <[email protected]> wrote: > > > On Jan 17, 2017, at 22:30, Braeden Profile via swift-evolution > <[email protected] <mailto:[email protected]>> wrote: > >> Hello Swift Community! >> >> I know that I’ve seen this mentioned before, but what with Enhanced >> Existentials being brought up, I think this is worth mentioning now. What >> is the plan regarding letting existentials conform to their protocols? >> Currently, in Swift 3, it is impossible to write code like this: >> protocol Updatable >> { func update() } >> >> struct UpdatePool<T: Updatable> >> { /* ... */ } >> >> let heterogenousPool = UpdatePool<Updatable>() >> Error on the last line: “Using ‘Updatable’ as a concrete type conforming to >> protocol ‘Updatable’ is not supported.” >> >> >> Although my most common use case of this behavior has actually been solved >> (using ‘AnyObject’ as a concrete type conforming to ‘AnyObject’), I wonder >> why this can’t be extended to any protocol existential (a field which is >> about to explode, if we succeed in Enhancing them). >> >> What do you guys think? > > +1, but I think there's a compiler limitation preventing it at the moment.
See my recent post: https://www.mail-archive.com/[email protected]/msg03427.html Slava > > - Dave Sweeris > _______________________________________________ > swift-evolution mailing list > [email protected] <mailto:[email protected]> > https://lists.swift.org/mailman/listinfo/swift-evolution > <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
