On Apr 6, 2016, at 2:03 PM, Joe Groff via swift-evolution 
<swift-evolution@swift.org> wrote:
> 
>> 
>> On Apr 6, 2016, at 12:52 PM, Pyry Jahkola <pyry.jahk...@iki.fi> wrote:
>> 
>> Joe,
>> 
>> Just from your experience on this topic, is there any reason not to also 
>> move the primary constraints into the trailing `where` clause?
> It's a judgment call. It's my feeling that in many cases, a generic parameter 
> is constrained by at least one important protocol or base class that's worth 
> calling out up front, so it's reasonable to allow things like 'func foo<C: 
> Collection>(x: C) -> C.Element' without banishing the 'Collection' constraint 
> too far from the front of the declaration.

>From a reading point of view, it's always better to declare tokens before 
>using them. This groups them with the parameters (and the parameters in turn 
>may use the tokens), so the scope-specific vocabulary is all laid out in front.

-- E

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to