[swift-evolution] [Review] SE-0142: Permit where clauses to constrain associated types

Douglas Gregor dgregor at apple.com
Mon Sep 26 22:48:41 CDT 2016



Sent from my iPhone

> On Sep 24, 2016, at 6:55 PM, Nate Cook <natecook at gmail.com> wrote:
> 
> 
>> https://github.com/apple/swift-evolution/blob/master/proposals/0142-associated-types-constraints.md
> 
>> What is your evaluation of the proposal?
> [Smiling Face With Heart-Shaped Eyes Emoji]
> 
> One of the examples given (associatedtype SubSequence : Sequence where SubSequence...) looks like it would run afoul of the (current?) limitations on recursive protocols. Have those been resolved, or is resolving that part of the work of this change?

That's a good point. Recursive protocols are a separate feature we've had on our wish list for Swift 4, because they can be used to clean up a bunch of ugliness in the standard library. Perhaps this proposal should change its example that doesn't depend on that not-yet-implemented feature.

  - Doug

> Other than that question, I give this the heartiest +1 I can muster!
> 
>> Is the problem being addressed significant enough to warrant a change to Swift?
> Definitely—this will have significant effects on not only the standard library itself, but also extensions written by developers using Swift.
> 
>> Does this proposal fit well with the feel and direction of Swift?
> Yes!
> 
>> If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
> n/a
> 
>> How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
> I've read the proposal and wrestled many times with extensions that require several annoyingly unnecessary `where` clauses. 
> 
> Nate
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160926/d1819e8e/attachment-0001.html>


More information about the swift-evolution mailing list