<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></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 Jun 20, 2016, at 10:55 AM, Антон Жилин via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><div class=""><div dir="ltr" class="">IIRC, there were at least the following counter-arguments:<div class="">1. One must break API and ABI compatibility to add @escaping to an existing function<br class=""><div class="">2. @nonescaping case is actually quite as common as @escaping</div></div><div class=""><br class=""></div><div class="">Frankly speaking, I support both of this arguments. I'll also add another counter-argument.</div><div class=""><br class=""></div><div class="">Lazy map and filter will be marked as @escaping. Now consider the following code:<br class=""></div><div class=""><br class=""></div><div class="">func sum&lt;T&gt;(_ array: [T], transform: (T) -&gt; Int) -&gt; Int {</div><div class="">&nbsp; &nbsp; return array.lazy.map(func).reduce(0, combine: +)</div><div class="">}</div><div class=""><br class=""></div><div class="">`transform` will be marked as @escaping, despite that `transform` never actually escapes `sum`.</div><div class=""><br class=""></div><div class="">I believe that we should not accept nonescaping-by-default until we get a powerful lifetimes system, as in Rust.</div></div></div></blockquote></div><div><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">I think it makes sense to create a mini-proposal just for renaming of @noescape to @nonescaping.</div></div></div></blockquote><div><br class=""></div>There is already a thread for this conversation; please respond there.</div><div><br class=""></div><div>John.</div><div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><br class=""></div><div class="">- Anton</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">2016-06-20 20:37 GMT+03:00 Austin Zheng <span dir="ltr" class="">&lt;<a href="mailto:austinzheng@gmail.com" target="_blank" class="">austinzheng@gmail.com</a>&gt;</span>:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">Trent Nadeau had prepared a proposal on Chris Lattner's recommendation, and there was a discussion thread a few weeks back:&nbsp;<a href="http://thread.gmane.org/gmane.comp.lang.swift.evolution/19756" target="_blank" class="">http://thread.gmane.org/gmane.comp.lang.swift.evolution/19756</a>.<div class=""><br class=""></div><div class="">Not sure what the outcome was. I don't see any open PRs to merge the proposal into the swift-evolution repo.</div><div class=""><br class=""></div><div class="">Austin</div></div><div class="gmail_extra"><br class=""><div class="gmail_quote"><div class=""><div class="h5">On Mon, Jun 20, 2016 at 9:06 AM, Антон Жилин <span dir="ltr" class="">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>&gt;</span> wrote:<br class=""></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><div class="h5"><div dir="ltr" class="">Hmm, I guess you are right, there would be no point keeping @nonescaping, then.<div class=""><br class=""></div><div class="">- Anton</div></div><div class=""><div class=""><div class="gmail_extra"><br class=""><div class="gmail_quote">2016-06-20 18:55 GMT+03:00 David Waite <span dir="ltr" class="">&lt;<a href="mailto:david@alkaline-solutions.com" target="_blank" class="">david@alkaline-solutions.com</a>&gt;</span>:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><br class=""><div class=""><span class=""><blockquote type="cite" class=""><div class="">On Jun 20, 2016, at 9:39 AM, Антон Жилин via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a>&gt; wrote:</div><div class=""><div style="font-family:Helvetica;font-size:12px;font-style:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" class="">* Rename @noescape to @nonescaping, and make @nonescaping the default case</div></div></blockquote></span>Do you mean replace @noescape with its opposite, @escaping?</div><span class=""><font color="#888888" class=""><div class=""><br class=""></div><div class="">-DW</div><div class=""><br class=""></div></font></span></div></blockquote></div><br class=""></div>
</div></div><br class=""></div></div>_______________________________________________<br class="">
swift-evolution mailing list<br class="">
<a href="mailto:swift-evolution@swift.org" target="_blank" class="">swift-evolution@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank" class="">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br class="">
<br class=""></blockquote></div><br class=""></div>
</blockquote></div><br class=""></div>
_______________________________________________<br class="">swift-evolution mailing list<br class=""><a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-evolution<br class=""></div></blockquote></div><br class=""></body></html>