<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">How about [weak(guard) self]? It would only work with closures returning -> () as if you are weakly capturing something you are likely to be messaging that not returning some, so they can be ignored.</div><div class=""><br class=""></div><div class=""><div class="highlight highlight-source-swift" style="box-sizing: border-box; margin-bottom: 16px; color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; background-color: rgb(255, 255, 255);"><pre style="box-sizing: border-box; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 14px; margin-top: 0px; margin-bottom: 0px; line-height: 1.45; padding: 16px; overflow: auto; background-color: rgb(247, 247, 247); border-top-left-radius: 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px; word-wrap: normal; word-break: normal;" class="">networkRequest<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">.</span>fetchData() { [<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">weak(guard)</span> <span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">self</span>] result <span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">in</span>
<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">switch</span> result {
<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">case</span> <span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">.</span>succeeded(<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">let</span> data):
<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">self</span><span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">.</span>processData(data)
<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">case</span> <span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">.</span>failed(<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">let</span> err):
<span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">self</span><span class="pl-k" style="box-sizing: border-box; color: rgb(167, 29, 93);">.</span>handleError(err)
}
}</pre></div></div><div class=""><br class=""></div><div class="">Patrick</div><div class=""><br class=""></div><br class=""><blockquote type="cite" class="">On 13 May 2016, at 2:10 AM, Hoon H. via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:<br class=""><br class="">I am replying months lately, but anyway, I just read your proposal, and I think this is cool.<br class=""><br class=""> [guard self]<br class=""><br class="">I am in doubt about another stuffs such as `[guard self else …]`. I hope your proposal to be accepted. I am getting a bit tired of writing `guard let S = self else { … }`.<br class=""><br class="">I am still not sure how to use mailing list… but I hope this to be a correct way.<br class="">…Sending again because I mistyped Evan’s address.<br class=""><br class="">— Hoon H.<br class=""><br class="">_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></blockquote><br class=""></body></html>