[swift-evolution] [Review] SE-0081: Move where clause to end of declaration

Thorsten Seitz tseitz42 at icloud.com
Thu May 12 00:09:11 CDT 2016



> Am 11.05.2016 um 19:23 schrieb Joe Groff <jgroff at apple.com>:
> 
> 
>>> On May 11, 2016, at 6:54 AM, Thorsten Seitz <tseitz42 at icloud.com> wrote:
>>> 
>>> 
>>> Am 11.05.2016 um 03:56 schrieb Joe Groff via swift-evolution <swift-evolution at swift.org>:
>>> 
>>> 
>>>>> On May 10, 2016, at 4:19 PM, Douglas Gregor via swift-evolution <swift-evolution at swift.org> wrote:
>>>>> 
>>>>> 
>>>>> On May 10, 2016, at 3:46 PM, Jordan Rose via swift-evolution <swift-evolution at swift.org> wrote:
>>>>> 
>>>>> I think actual keyword “where” provides enough of a delimiter that it won’t be hard to put something before it, and it seems unlikely to me that we would want to add anything after it without some other delimiter. So I’m not too concerned.
>>>> 
>>>> Yeah, that’s my feeling as well.
>>> 
>>> One conceivable use of `where` that this would shut the door on: infix `where` for generalized existentials, e.g. `Protocol where AssociatedType == Int` could be the Protocol existential with Self.AssociatedType constrained to Int.
>> 
>> Why do you think that?
> 
> This proposal moves `where` after the return type, which would be ambiguous with any infix use of `where` in the type grammar.

Ah, I see. But wouldn't this already be a problem with the current syntax as well, because the `where` might come after a constraining type which might be an existential?

As an alternative to `where` we could use `with` for existentials.

-Thorsten 


More information about the swift-evolution mailing list