<div dir="ltr">I am talking about when capturing weak. The unowned capture situation is the simpler variant of weak, one that doesn&#39;t happen to exhibit the gyration of strongifying a weak capture.<div><br></div><div>In the weak situation you most often want to promote the captured weak reference to a strong reference for some scope of code. You have to do this currently by assigning the one or more captured weak references you have to a differently named strong reference.</div><div><br></div><div>Additionally it isn&#39;t clear to me how a block with multiple captures would play in what you are proposing.</div><div><br></div><div>If the strongify situation could be improved by allowing a captured weak reference to be made strong while avoiding the renaming gyration then I could see that being coupled with the &quot;[weak/unowned foo]? in&quot; no-op case (assuming folks see enough reason for the no-op case).</div><div><br></div><div>-Shawn</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Feb 19, 2016 at 2:47 PM Kurt Werle &lt;<a href="mailto:kurt@circlew.org">kurt@circlew.org</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">And to follow up on my own email, isn&#39;t that exactly the flow you want?<div><br></div><div>First you do</div><div>{ [unowned self]? in </div><div>  ...</div><div>}</div><div><br></div><div>Then you realize that you need to deal with the else case.  You nuke the ? and add a guard.</div><div>{ [unowned self] in</div><div>  guard if unowned self != nil self {</div><div>    ...</div><div><br></div><div>I mean -- I look at that and it seems clear and easy.  You have the ? to deal with the nil case.  You remove it and add the block to deal with the special nil case.  The intention of both seems clear.  You added the guard code when you needed it.</div><div><br></div><div>Sign me up!</div><div>Kurt<br><div class="gmail_extra"></div></div></div><div dir="ltr"><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 19, 2016 at 2:39 PM, Kurt Werle <span dir="ltr">&lt;<a href="mailto:kurt@circlew.org" target="_blank">kurt@circlew.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Fri, Feb 19, 2016 at 2:30 PM, Shawn Erickson <span dir="ltr">&lt;<a href="mailto:shawnce@gmail.com" target="_blank">shawnce@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I get that :) but I think it would be helpful to go beyond the no-op case and help solve the &quot;strongify&quot; situation that exists in the larger problem domain.<div></div></div><div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div></div></div></div></div></blockquote></div></div></div></blockquote><div><br></div></span><div>OK - so what&#39;s wrong with:</div><span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>{ [unowned self] in</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>  guard self != nil else {</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>    Do the other thing</div><div>  }</div><div>}</div></div><div></div></div></div></blockquote></div></div></div></blockquote><div><br></div></span><div>It&#39;s basically what you&#39;re asking for - an unowned implicitly unwrapped variable followed by an else statement that takes care of the nil case.  Right?</div><span><font color="#888888"><div><br></div><div>Kurt</div><div>-- <br></div></font></span></div><span><font color="#888888"><div>kurt@CircleW.org<br><a href="http://www.CircleW.org/kurt/" target="_blank">http://www.CircleW.org/kurt/</a><br></div>
</font></span></div></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div></div><div dir="ltr"><div><div class="gmail_extra">-- <br><div>kurt@CircleW.org<br><a href="http://www.CircleW.org/kurt/" target="_blank">http://www.CircleW.org/kurt/</a><br></div>
</div></div></div></blockquote></div>