[swift-evolution] Deprecating Trailing Closures
Radosław Pietruszewski
radexpl at gmail.com
Fri Apr 1 10:03:19 CDT 2016
> On 31 Mar 2016, at 16:08, Erica Sadun <erica at ericasadun.com> wrote:
>
>>
>> On Mar 31, 2016, at 5:56 AM, Radosław Pietruszewski <radexpl at gmail.com <mailto:radexpl at gmail.com>> wrote:
>>> I follow the "Rule of Kevin", which is not language enforced. Parens around functional
>>> closures (->T), not around procedural (->Void) ones. This promotes "language construct"-like
>>> Void calls, avoids compiler parsing issues when chaining (or using "guard", "if", etc). It lets
>>> me know instantly how the closure is used.
>>>
>>> While I was originally reluctant to adopt it, its advantages have become self-evident over time.
>>> This ends up being slightly wordier, especially in the few cases you need to use argument labels.
>>>
>>> I think it's worth it.
>>
>> I don’t follow the Rule of Kevin myself, although I’m not against it either, and I see why some people would like it.
>>
>> But, if we’re going to have trailing closures at all (which seems desirable for creating things that look like language features), enforcement based on syntactic preference doesn’t make sense to me.
>>
>> This really reminds me of a “remove implicit self” discussion. Some people (me included) were against, because they disliked the noisiness of “self” everywhere. Others argued that the implicitness is somewhat unsafe. A valid position to take. But it’s a kind of thing teams can use a linter for, if they want to enforce it as a rule.
>>
>> Trailing closures seem like a similar thing. We could remove it altogether (although I think that would be a shame), or let’s just leave it up to preference (and developing guidelines) on where to use them.
>>
>> Best,
>> — Radek
>
> Following a style rule is just like using a linter. It's not language mandated and I have not argued for enforcement.
>
> -- E
Apologies, I didn’t mean to suggest you argued for enforcement. Just adding my 2¢ about why enforcement makes no sense to me.
Best,
— Radek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160401/4966aca3/attachment.html>
More information about the swift-evolution
mailing list