> 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