> On Nov 14, 2017, at 6:56 PM, Howard Lovatt via swift-evolution > <swift-evolution@swift.org> wrote: > > 2. Allow closures when assigned to a function type to be: > 2a. Recursive.
Local functions can also be mutually recursive: func f() { func foo() { bar() } func bar() { foo() } } This would not work with let bindings, which are not visible before the location where they are defined. > 2b. Annotatable with: > 2bi. @inline Neither closures nor local functions benefit from being annotated with @_inlineable, because they can only be referenced from inside their defining function, and not across module boundaries. So the optimizer can already inline the function or closure if needed. > 2bii. @escaping > 2c. Generic. See my other response to this thread. Slava
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution