[swift-evolution] [Proposal] Shadowing imported functions

Dany St-Amant dsa.mls at icloud.com
Thu Apr 14 21:01:24 CDT 2016


> Le 14 avr. 2016 à 11:28, Антон Жилин via swift-evolution <swift-evolution at swift.org> a écrit :
> 
> As promised, I've created a proposal to add @shadowing attribute. Link to the proposal:
> 
> https://github.com/Anton3/swift-evolution/blob/shadowing-imported-functions/proposals/NNNN-shadowing-imported-functions.md
> 
> Example:
> 
> // Imported function (implicit declaration)
> func dispatch_sync(queue: dispatch_queue_t, block: (@convention(block) () -> Void)!)
> 
> @shadowing(dispatch_sync(queue, block))
> func sync(queue: dispatch_queue_t, @noescape block: @convention(block) () -> Void)
> 

It is unclear to me, if you plan to allow re-labelling, during the shadowing process.

Could the:
 dispatch_sync(_,block:)
Be shadowed as either (if one disregard the API Guideline)
 sync(_,block:)
 sync(list:,task:)
 sync(_,_)

If the import got the function name wrong, and missed the annotations like @noescape; it may also mislabel the parameters.

Dany

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160414/cf7f4681/attachment.html>


More information about the swift-evolution mailing list