[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