> On Mar 9, 2016, at 8:47 PM, Chris Lattner via swift-evolution 
> <[email protected]> wrote:
> 
> This is a minimal proposal for introducing type aliases into Swift, and 
> intentionally chooses to keep them limited to being “aliases”.  As such, 
> additional constraints are not allowed in this base proposal, e.g. you can’t 
> write:
> 
>     typealias StringDictionary<T where T : Hashable> = Dictionary<String, T>
> 

What is the rationale for not supporting constraints? Generic type aliases have 
value without constraints but I can also see a lot of uses for allowing them, 
especially in some cases where the type constraints are fairly complex and 
repetitive. It also serves the same self-documenting-code purposes.

In this example it would be nonsense to have a “MatcherFunction” that can’t 
compare values. Why not express that in the constraint?

    typealias MatcherFunction<T where T : Comparable> = (T, T) -> MatchResult




Russ

_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to