[swift-evolution] [Discussion] Generic protocols

Charles Srstka cocoadev at charlessoft.com
Fri Dec 2 13:13:46 CST 2016


> On Dec 2, 2016, at 12:34 PM, Adrian Zubarev via swift-evolution <swift-evolution at swift.org> wrote:
> 
> I just overlooked that the subsection about generic protocols was inside the Unlikely section.
> 
> The problem is that I need a way to refer to a function with a specific name. Plus the connection type has to have a specific API, like having a DispatchQueue and know the router object if there is any (sounds like a protocol right?!). The function reference should also keep the connection object alive with a strong reference. 
> 
> associatedtype does not solve that problem for me.
> 
> I clearly see that generic protocols overlap with associatedtype but couldn’t we find a compromise here? For instance like Chris Lattner introduced generic type aliases without the ability of constants.
> 

Why don’t we just use angle brackets to specify associated types? Protocols aren’t using them for anything anyway. Then you could:

if let someSequence as? Sequence<Iterator.Element == Int> { // do something }

which would form a nice parallel to the syntax for casting things to generic types.

Charles

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20161202/244133d5/attachment.html>


More information about the swift-evolution mailing list