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 
> <[email protected]> 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
> [email protected] <mailto:[email protected]>
> https://lists.swift.org/mailman/listinfo/swift-evolution 
> <https://lists.swift.org/mailman/listinfo/swift-evolution>
_______________________________________________
swift-evolution mailing list
[email protected]
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to