<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've been operating under the assumption that __attribute__((noescape)) will eventually be deeply understood by clang, and allow the same elision of "self" in Objective-C that @noescape does in Swift. (I filed <rdar://19914650> 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'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' hands as soon as possible.</div><div><br></div><div>Jacob</div></div></div></div>