> On Jan 17, 2017, at 22:30, Braeden Profile via swift-evolution > <[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. - Dave Sweeris
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
