[swift-evolution] @noescape and nil

Aleksandar Petrovic apetrovic at gmail.com
Tue Apr 26 02:15:26 CDT 2016


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160426/64840537/attachment.html>


More information about the swift-evolution mailing list