<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">On Dec 5, 2015, at 1:44 PM, Jacob Bandes-Storch via swift-evolution <<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><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" class=""><div class="">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 class=""></div></div></blockquote><div class=""><br class=""></div><div class="">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 <<a href="rdar://19914650" class="">rdar://19914650</a>> for this some time ago.)</div><div class=""><br class=""></div><div class="">Thus, I think it makes the most sense to change the C headers.</div></div></div></div></div></blockquote><div><br class=""></div><div>I completely agree with that statement, and I think that this change should make it into Darwin and swift-corelibs-libdispatch both.<br class=""><div class=""><br class="webkit-block-placeholder"></div><div class="">-Pierre</div></div></div><div class=""><br class=""></div></body></html>