<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 class="">TL;DR: The optional is already escaping, due to the fact that “T?" is sugar for Optional&lt;T&gt;, and the noescape-by-default rule only applies to types in immediate parameter position. Current Swift master has much better diagnostics for this case.</div><div class=""><br class=""></div><div class="">There is not currently a general solution involving escapability of closure types used a generic parameters or tuple members, though such a thing would be useful in Swift 4.</div><br class=""><div><blockquote type="cite" class=""><div class="">On Sep 13, 2016, at 7:42 PM, Shawn Erickson via swift-users &lt;<a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">The following is the earlier thread I was talking about.&nbsp;<div class=""><br class=""></div><div class=""><a href="https://lists.swift.org/pipermail/swift-users/Week-of-Mon-20160905/003179.html" class="">[swift-users] Swift 3 (Xcode 8 GM) issue with @escaping&nbsp;</a><br class=""></div><div class=""><br class=""></div><div class="">-Shawn</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Tue, Sep 13, 2016 at 7:31 PM Shawn Erickson &lt;<a href="mailto:shawnce@gmail.com" class="">shawnce@gmail.com</a>&gt; wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I hit this issue as well. I had an early email on this list regarding do this topic, not in a situation to search for it. It is a short coming in how escaping can be applied to things like optional closures.<br class=""><br class="">I was in the process of authoring an email for swift evolution about it and haven't yet gotten around to filing a defect about it.<br class=""><br class="">-Shawn<br class=""><div class="gmail_quote"><div dir="ltr" class="">On Tue, Sep 13, 2016 at 7:27 PM Rick Mann via swift-users &lt;<a href="mailto:swift-users@swift.org" target="_blank" class="">swift-users@swift.org</a>&gt; wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm trying to write this function. The errorHandler: parameter is modeled after the NSFileManager enumerate() function. If I include the @escaping you see there, I get the error "@escaping may only be applied to parameters of function type".<br class="">
<br class="">
The second parameter, iterator:, seems to have no problems with @escaping.<br class="">
<br class="">
func<br class="">
iterate(directory inURL: URL?,<br class="">
&nbsp; &nbsp; &nbsp; &nbsp; includingPropertiesForKeys: [URLResourceKey]? = nil,<br class="">
&nbsp; &nbsp; &nbsp; &nbsp; options: FileManager.DirectoryEnumerationOptions = [],<br class="">
&nbsp; &nbsp; &nbsp; &nbsp; errorHandler inErrorHandler: (@escaping (URL, Error) -&gt; Bool)? = nil,<br class="">
&nbsp; &nbsp; &nbsp; &nbsp; iterator inIterator: (@escaping (URL) throws -&gt; ())) rethrows<br class="">
{<br class="">
}<br class="">
<br class="">
I'm not sure why I can't apply @escaping here. Can anyone enlighten me? Thank you.<br class="">
<br class="">
--<br class="">
Rick Mann<br class="">
<a href="mailto:rmann@latencyzero.com" target="_blank" class="">rmann@latencyzero.com</a><br class="">
<br class="">
<br class="">
_______________________________________________<br class="">
swift-users mailing list<br class="">
<a href="mailto:swift-users@swift.org" target="_blank" class="">swift-users@swift.org</a><br class="">
<a href="https://lists.swift.org/mailman/listinfo/swift-users" rel="noreferrer" target="_blank" class="">https://lists.swift.org/mailman/listinfo/swift-users</a><br class="">
</blockquote></div></blockquote></div>
_______________________________________________<br class="">swift-users mailing list<br class=""><a href="mailto:swift-users@swift.org" class="">swift-users@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-users<br class=""></div></blockquote></div><br class=""></body></html>