[swift-evolution] [Pitch/plea] Recursive protocol constraints

Austin Zheng austinzheng at gmail.com
Fri Jan 6 19:49:48 CST 2017

Thank you for all your feedback! I opened a PR here (
https://github.com/apple/swift-evolution/pull/578) to capture further
improvements and discussion. (If it's too early for a PR, I'll close my PR
and open a new one when the proposal is closer to completion.)


On Wed, Jan 4, 2017 at 10:35 PM, Douglas Gregor <dgregor at apple.com> wrote:

> On Jan 2, 2017, at 1:03 PM, Dave Abrahams via swift-evolution <
> swift-evolution at swift.org> wrote:
> on Mon Jan 02 2017, Austin Zheng <austinzheng-AT-gmail.com
> <http://austinzheng-at-gmail.com/>> wrote:
> Anyone who wants to help, by the way, is more than welcome to; I'm happy to
> take PRs or just even a message describing what needs to change, and I'd of
> course add you to the authors list...
> Regarding "valid" recursive constraints breaking the compiler: it was a
> reference to something Doug said in his original email:
> I also have a nagging feeling that we will need some form of
> restrictions on this feature for implementation reasons, e.g.,
> because some recursive constraints will form unsolvable systems.
> I wouldn't concern myself much with such vague fears-and-doubts if I
> were you.  Consider that unsolvable systems would be a *fundamental*
> reason for needing restrictions, rather than an implementation reason.
> If we discover such a scenario, we'll deal with it.  My intuition is
> that any such unsolvable systems will fall under the rubric of
> ambiguities, so the restriction will be something like “don't make
> something ambiguous.”
> Yeah, Dave’s right about my vague fears. If they are actual problems, we
> can amend the proposal with any additional restrictions that come up. My
> apologies if I sent you down a wrong path!
> Thank you for working on this! I left a few comments on the commits as
> well, but the proposal is looking good!
> - Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170106/e778acc9/attachment.html>

More information about the swift-evolution mailing list