[swift-evolution] [Review] SE-0103: Make non-escaping closures the default

Jose Cheyo Jimenez cheyo at masters3d.com
Wed Jun 22 13:34:43 CDT 2016

> 	* What is your evaluation of the proposal?
+1 I think this will help getting safer code by default along with already approved  SE-0035 <https://github.com/apple/swift-evolution/blob/master/proposals/0035-limit-inout-capture.md>

> 	* Is the problem being addressed significant enough to warrant a change to Swift?
Yes. I think that @nonescaping is a good default that goes along the same lines on why I use `let` over `var. 
When I learned about @nonescaping I found myself using it more and more but it felt like having to use `const` in C++ and I thought why isn’t @noscape the default. 
I think that is @nonescaping was available before swift 1 came out that the core team would have made it the default.  

How would somebody unsafely cast an escaping closure to a non escaping? Do we need to keep the @nonescaping attribute around for this to work?

> 	* Does this proposal fit well with the feel and direction of Swift?
Yes. Safe by default. 

> 	* If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?

> 	* How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

Follow the discussing and proposal. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160622/b97f8d1e/attachment.html>

More information about the swift-evolution mailing list