[swift-evolution] [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:25:56 CDT 2016


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)

> 在 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




More information about the swift-evolution mailing list