[swift-evolution] [Accepted] SE-0111: Remove type system significance of function argument labels
David Owens II
david at owensd.io
Mon Jul 11 02:17:30 CDT 2016
Sent from my iPhone
> On Jul 10, 2016, at 11:24 PM, Austin Zheng <austinzheng at gmail.com> wrote:
>> On Jul 10, 2016, at 11:16 PM, David Owens II <david at owensd.io> wrote:
>> Unless you really want to try and get parameter name syntax changed to match your example:
>> func doResizeB(image: Image, completed(original:resized:): (Image, Image) -> Void)
> This is what I had in mind. You would be able to name a value of function type (whether it be a local variable, function argument, or property) with either a simple name (in which case there would be no labels at all), or a compound name with as many semicolons as arguments. Would you have any objection to this?
Would this compound name also affect how functions are referenced? I would assume no.
Also, how do typealiases work then? It's still desirable to not have to couple the labels there with the labels within the function declaration. So if:
typealias MyCallback = (original: Image, resized: Image) -> Void
Meant that these were equivalent:
func doResizeB(image: Image, completed(original:resized:): (Image, Image) -> Void)
func doResizeB(image: Image, completed: MyCallback)
I probably wouldn't have any real objection.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the swift-evolution