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

Douglas Gregor dgregor at apple.com
Wed Jul 6 22:29:43 CDT 2016


> 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