[swift-evolution] When to use argument labels, part DEUX (was: when to use argument labels (a new approach))

Matthew Judge matthew.judge at gmail.com
Sat Feb 6 15:12:47 CST 2016


This issue is going to surface any time a method with a preposition and a single defaulted argument. I would say:

copy(with: )

Although I think we might have problematic results no matter what guidelines we use for

func doSomethingWith(completionHandler: (()->Void)? = nil)

since this can be called as

doSomethingWith() // doSomething()

Or

doSomethingWith {...} // doSomething {...}

> On Feb 6, 2016, at 15:47, Jean-Daniel Dupas via swift-evolution <swift-evolution at swift.org> wrote:
> 
> 
>> Le 6 févr. 2016 à 21:15, Douglas Gregor via swift-evolution <swift-evolution at swift.org> a écrit :
>> 
>> 
>> 
>> Sent from my iPhone
>> 
>>> On Feb 6, 2016, at 9:21 AM, Thorsten Seitz <tseitz42 at icloud.com> wrote:
>>> 
>>> So the preposition should move into the argument label if the argument is optional?
>>> 
>>> copy(withZone: zone = nil)
>> 
>> Zone is redundant with type information. 
>> 
>> copy(with:)?
>> copy(withZone:)?
> 
> Wouldn’t it be possible to simply drop the copyWithZone: method that is deprecated for some times now (To quote the doc: Zones are ignored on iOS and 64-bit runtime on OS X. You should not use zones in current development).
> 
>> 
>>> -Thorsten 
>>> 
>>> 
>>>> Am 06.02.2016 um 14:45 schrieb Matthew Judge via swift-evolution <swift-evolution at swift.org>:
>>>> 
>>>> Very first method
>>>> 
>>>> copyWith(zone: Zone = nil)
>>>> 
>>>> can be called as
>>>> 
>>>> copyWith()
>>>> 
>>>> I'm assuming this is still something we don't want right?
>>>> 
>>>>> On Feb 6, 2016, at 02:16, Douglas Gregor via swift-evolution <swift-evolution at swift.org> wrote:
>>>>> 
>>>>> 
>>>>>> On Feb 5, 2016, at 1:32 PM, Dave Abrahams via swift-evolution <swift-evolution at swift.org> wrote:
>>>>>> 
>>>>>> 
>>>>>> Given all the awesome feedback I've gotten on this thread, I went back
>>>>>> to the drawing board and came up with something new; I think this one
>>>>>> works.  The previously-stated goals still apply:
>>>>> 
>>>>>> [snip goals]
>>>>> 
>>>>>> P.S. Doug is presently working on generating new importer results, based
>>>>>>    on these guidelines, for your perusal.  They should be ready soon.
>>>>> 
>>>>> Here’s a link:
>>>>> 
>>>>>    https://github.com/apple/swift-3-api-guidelines-review/pull/10/files
>>>>> 
>>>>> Feedback welcome!
>>>>> 
>>>>>    - Doug
>>>>> 
>>>>> _______________________________________________
>>>>> swift-evolution mailing list
>>>>> swift-evolution at swift.org
>>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>>>> _______________________________________________
>>>> swift-evolution mailing list
>>>> swift-evolution at swift.org
>>>> https://lists.swift.org/mailman/listinfo/swift-evolution
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
> 
> _______________________________________________
> 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