<div dir="ltr">Yes, it seems to use the strong shadowing variable. (The compiler doesn&#39;t complain about &quot;self.foo&quot;, and &quot;self?.foo&quot; becomes invalid because self is no longer optional.)<div><br></div><div>If it weren&#39;t so useful, I&#39;d call it a bug.<br><div class="gmail_extra">
<br><div class="gmail_quote">On Tue, Jan 5, 2016 at 8:34 PM, Greg Parker <span dir="ltr">&lt;<a href="mailto:gparker@apple.com" target="_blank">gparker@apple.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 style="word-wrap:break-word"><div>Does further use of self after that actually use a strong shadowing variable? Or does it go back to the weak reference it already had as if the shadow were not there?</div><span class=""><div><br></div><div><blockquote type="cite"><div>On Jan 5, 2016, at 8:26 PM, Jacob Bandes-Storch via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br><div><div dir="ltr">Wow! I didn&#39;t know that worked. It&#39;s a bit surprising, and perhaps not intended. I think the proposal is still valid.<div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 5, 2016 at 8:21 PM, Christopher Rogers <span dir="ltr">&lt;<a href="mailto:christorogers@gmail.com" target="_blank">christorogers@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">You can shadow self with a guard like you wrote it if use the keyword escaping backquotes like so:<br><br>guard let `self` = self else { return }</blockquote></div></div></div></div></blockquote><br></div><br></span></div></blockquote></div><br></div></div></div>