[swift-evolution] @noescape and nil

Jordan Rose jordan_rose at apple.com
Tue Apr 26 11:20:50 CDT 2016


No one’s brought it up yet, but it seems totally reasonable. I’d even consider this a bug fix, not a real language change, but I’m not a core team member.

Jordan


> On Apr 26, 2016, at 00:15, Aleksandar Petrovic via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Hi Swift community, I have a question.
> 
> This is a valid Swift code:
> 
> func testFunc(times: Int, fn: ((Int)->Void)? = nil) {
> 	guard let f = fn else { return }
> 	for i in 1 ..< times {
> 		f(i)
> 	}
> }
> 
> And this is not:
> 
> func testFunc(times: Int, @noescape fn: ((Int)->Void)? = nil) {
> 	guard let f = fn else { return }
> 	for i in 1 ..< times {
> 		f(i)
> 	}
> }
> 
> I can't think of any hard reason why the @noescape parameter of the function can't be nullable (and, with default value, be optional), but maybe I'm missing something. Is there any plan to correct this in 3.0?
> 
> Alex
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160426/e53b6f30/attachment.html>


More information about the swift-evolution mailing list