[swift-evolution] [Proposal] Make non-escaping closures the default

Jose Cheyo Jimenez cheyo at masters3d.com
Mon Jun 20 11:30:02 CDT 2016


That proposal was rejected because the swift evolution is not the correct vehicle to drive changes to Apple frameworks. 



> On Jun 6, 2016, at 8:33 AM, Ben Rimmington via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Trent Nadeau wrote:
> 
>> ### Imported C/Objective-C APIs
>> 
>> Per the Core Team, most Cocoa closure/block parameters are escaping
>> (e.g., delegates). As such the Clang importer will automatically add
>> the `@escaping` annotation to closure/block parameters encountered in
>> imported Objective-C APIs unless they are explicitly marked with the
>> Clang `((noescape))` attribute. This will also be done with imported
>> C APIs with function pointer or block parameters.
> 
> "SE-0012: Add @noescape to public library API" has a list of Foundation
> and CoreFoundation APIs, but that proposal is still awaiting scheduling.
> 
> <https://github.com/apple/swift-evolution/blob/master/schedule.md>
> 
> -- Ben
> 
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution


More information about the swift-evolution mailing list