<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><div>One option was to use the API notes feature of the compiler to annotate these APIs as part of the import into Swift. Another is to get the C headers changed (on Darwin too) to add the attribute. We may want to do one approach in the short term and another in the long term.<br></div></div></blockquote><div><br></div><div>I&#39;ve been operating under the assumption that __attribute__((noescape)) will eventually be deeply understood by clang, and allow the same elision of &quot;self&quot; in Objective-C that @noescape does in Swift. (I filed &lt;rdar://19914650&gt; for this some time ago.)</div><div><br></div><div>Thus, I think it makes the most sense to change the C headers.</div><div><br></div><div>However, if swift-corelibs-libdispatch isn&#39;t going to affect the Swift versions that ship with Xcode in the near future, then I guess amending the API notes is a good idea, so the @noescape versions can get into developers&#39; hands as soon as possible.</div><div><br></div><div>Jacob</div></div></div></div>