<div dir="ltr">Based on the discussion here, I&#39;m withdrawing this proposal.<div><br></div><div>I created it because of a section in the Error Handling Rationale and Proposal document (<a href="https://github.com/apple/swift/blob/master/docs/ErrorHandlingRationale.rst" target="_blank">https://github.com/apple/swift/blob/master/docs/ErrorHandlingRationale.rst</a>) about `using`:<br><br><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);line-height:25.6px"><font face="georgia, serif">Swift should consider providing a <code style="padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">using</code> statement which acquires a resource, holds it for a fixed period of time, optionally binds it to a name, and then releases it whenever the controlled statement exits.</font></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);line-height:25.6px"><font face="georgia, serif"><code style="padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">using</code> has many similarities to <code style="padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">defer</code>. It does not subsume <code style="padding:0.2em 0px;margin:0px;border-radius:3px;background-color:rgba(0,0,0,0.0392157)">defer</code>, which is useful for many ad-hoc and tokenless clean-ups. But it is convenient for the common pattern of a type-directed clean-up.</font></p><p style="margin-top:0px;margin-bottom:16px;color:rgb(51,51,51);line-height:25.6px"><span style="line-height:25.6px"><font face="georgia, serif">We do not expect this feature to be necessary in the first release.</font></span></p></blockquote>However, it looks like there isn&#39;t enough need to warrant a language change, at least for now. Is the Rationale doc a living document? If so, it should perhaps be updated to mention that `using` needs a strong use case given the current language features.</div><div><br></div><div>Thanks to everyone involved in this discussion.<br><a name="151f3df2ac80769c_user-content-c-and-objective-c-interoperation" style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif,&#39;Apple Color Emoji&#39;,&#39;Segoe UI Emoji&#39;,&#39;Segoe UI Symbol&#39;;font-size:16px;line-height:25.6px;background-color:transparent"></a><span style="color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif,&#39;Apple Color Emoji&#39;,&#39;Segoe UI Emoji&#39;,&#39;Segoe UI Symbol&#39;;font-size:16px;line-height:25.6px"></span><h3 style="margin-top:1em;margin-bottom:16px;line-height:1.43;font-size:1.5em;color:rgb(51,51,51);font-family:&#39;Helvetica Neue&#39;,Helvetica,&#39;Segoe UI&#39;,Arial,freesans,sans-serif,&#39;Apple Color Emoji&#39;,&#39;Segoe UI Emoji&#39;,&#39;Segoe UI Symbol&#39;"><a href="https://github.com/apple/swift/blob/master/docs/ErrorHandlingRationale.rst#c-and-objective-c-interoperation" style="color:rgb(64,120,192);text-decoration:none;display:inline-block;padding-right:2px;line-height:1.2;background-color:transparent" target="_blank"><span style="font-weight:normal;font-stretch:normal;font-size:16px;line-height:1;font-family:octicons;display:inline-block;color:rgb(0,0,0);vertical-align:middle"></span></a></h3></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Dec 30, 2015 at 6:12 AM, Tino Heth <span dir="ltr">&lt;<a href="mailto:2th@gmx.de" target="_blank">2th@gmx.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It is an appealing idea on first sight, but it makes the language more complex, and I don&#39;t think scoped resources are versatile enough to back justify their inclusion.<br>
<br>
The defer feature which is already mentioned in the proposal is very similar — and I expect that will not only be the case for the effect, but also for the usefulness:<br>
I rarely use defer… I still like the concept, but I guess our ecosystem just has little need for it.<br>
<span><font color="#888888"><br>
Tino</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Trent Nadeau</div>
</div></div>