[swift-evolution] Proposal: Allow `[strong self]` capture in closures and remove the `self` requirement therein
    Greg Parker 
    gparker at apple.com
       
    Thu Dec 17 17:43:15 CST 2015
    
    
  
> On Dec 17, 2015, at 1:46 AM, Andrey Tarantsov via swift-evolution <swift-evolution at swift.org> wrote:
> 
> +1, this has been a noticeable source of annoyance. Marc Knaup has said it best:
> 
>> Developers will likely only ever write the rather uncommon [strong self] capture when they know what they are doing.
>> Misuse can happen with any feature, but it is unlikely in this case.
> 
> I *am* concerned about an inconsistency here, though; is [strong self] just a magical workaround for one specific case, or could this be a part of a larger rule?
`self` is already special in closures. This is merely a change to its special behavior. 
I can think of two possible amendments that would make self capture more consistent with other variables.
1. Allow or require plain `[self]` instead of `[strong self]`.
2. Allow or require other captures to use `strong` as the capture specifier: `[strong y = x]`
-- 
Greg Parker     gparker at apple.com     Runtime Wrangler
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20151217/2ee74895/attachment.html>
    
    
More information about the swift-evolution
mailing list