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

Austin Zheng austinzheng at gmail.com
Wed May 11 16:01:07 CDT 2016


Another idea: what about a comma separating the return type from the where
clause?

func myFunc<A, B>(arg1: A, arg2: B) -> Bool, where A :
CustomStringConvertible { ... }

Best,
Austin

On Wed, May 11, 2016 at 1:56 PM, Hooman Mehr via swift-evolution <
swift-evolution at swift.org> wrote:

> How about a more radical change that eliminates this entire concern and
> keeps the whole generics declarations in one place:
>
> Move the entire generic declaration with its brackets somewhere other than
> between function name and its parameters.
>
> I know this breaks the “norm”, but what do you think?
>
>
> On May 11, 2016, at 10:23 AM, Joe Groff via swift-evolution <
> swift-evolution at swift.org> wrote:
>
>
> 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.
>
> -Joe
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160511/4602c04c/attachment.html>


More information about the swift-evolution mailing list