[swift-evolution] Fwd: [swift-evolution-announce] [Accepted] SE-0111: Remove type system significance of function argument labels

frogcjn at 163.com frogcjn at 163.com
Wed Jul 6 22:36:12 CDT 2016


so how you call bar and get default values for a, b, c? why lost default value for that function? it is wired.
> 
>> 在 2016年7月7日,11:29,Douglas Gregor <dgregor at apple.com> 写道:
>> 
>> 
>>> On Jul 6, 2016, at 8:25 PM, Cao, Jiannan via swift-evolution <swift-evolution at swift.org> wrote:
>>> 
>>> Don't agree with this one.
>>> 
>>> func foo(a: Int = 0, b: Int = 1, c: Int = 2) {
>>>  print(a, b, c)
>>> }
>>> 
>>> foo(a: 1, c: 3)
>>> 
>>> let bar = foo
>>> 
>>> bar(1, 3) will different than foo(a: 1, c: 3)
>> 
>> bar(1, 3) will result in an error, because “bar” is of type 
>> 
>>   (Int, Int, Int) -> Void
>> 
>> Default arguments are associated with function declarations, not function types.
>> 
>>   - Doug
>> 
>> 
>>> 
>>>> 在 2016年7月7日,11:06,Chris Lattner <clattner at apple.com> 写道:
>>>> 
>>>> Proposal Link: https://github.com/apple/swift-evolution/blob/master/proposals/0111-remove-arg-label-type-significance.md
>>>> 
>>>> The review of "SE-0111: Remove type system significance of function argument labels " ran from June 30 ... July 4, 2016. The proposal has been *accepted*:
>>>> 
>>>> The community and core team agree that this proposal will lead to a simplification and clarification of the type system, as well as a more clear user model for parameter labels.  In response to community feedback, the core team is accepting the proposal with a revision to allow “purely cosmetic” parameter labels in closure types for documentation (as outlined in the alternatives section).  The core team also wants to clarify that a call to a value of closure type would not allow use of any parameter labels, some interpretations thought that “arbitrary” parameter labels could be used.
>>>> 
>>>> Thank you to Austin Zheng for driving this discussion forward!  I filed SR-2009 to track implementation work on this.
>>>> 
>>>> -Chris Lattner
>>>> Review Manager
>>>> 
>>>> _______________________________________________
>>>> swift-evolution-announce mailing list
>>>> swift-evolution-announce at swift.org
>>>> https://lists.swift.org/mailman/listinfo/swift-evolution-announce
>>> 
>>> 
>>> _______________________________________________
>>> 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