[swift-evolution] [Pitch] Make the first parameter in a function declaration follow the same rules as the others

Jose Cheyo Jimenez cheyo at masters3d.com
Wed Mar 9 14:15:49 CST 2016


+1 Yes

the current solution makes me wish we still have the # from swift 1 ;)

	func foo(x x: Int, y: Int) // Swift 2
	func foo(#x: Int, y: Int) // Swift 1


> On Mar 9, 2016, at 10:58 AM, Joe Groff via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Our accepted naming guidelines have embraced first argument labels for functions and methods. This weakens our justification for making the first parameter declaration in a `func` declaration behave differently from the others, implicitly being unlabeled. It seems pretty clear to me we should make all of the parameter declarations behave uniformly:
> 
> func foo(x: Int, y: Int) // Should declare foo(x:y:), instead of foo(_:y:)
> func foo(_ x: Int, y: Int) // Explicitly declares foo(_:y:)
> 
> This would also make `init` and `func` parameters behave consistently, which is nice. There may still be hope for our keyword argument rules to one day be shorter than the Smalltalk spec…
> 
> -Joe
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160309/f4e36dd3/attachment.html>


More information about the swift-evolution mailing list