[swift-evolution] Infer types of default function parameters

Kilian Koeltzsch me at kilian.io
Fri Mar 10 15:40:34 CST 2017


Hi all,

I sent the message below to swift-users@ ~a day ago, but this might be a better place to ask and gather some discussion. It is a rather minor suggestion and I'm just looking for some opinions.

Declaring a function that has default parameters currently looks like this:

func foo(bar: String = "baz") {
    print(bar)
}

Now I'm wondering if there would be any problems if it were possible to omit the type annotation for default params and let Swift's type inference handle that.

func foo(bar = "baz") {
    print(bar)
}

It feels to be equivalent to omitting type annotations with variable declarations. Obviously more complex types would still require annotations being specified. Off the top of my head I can't think of any negative ramifications this might bring, be it in simple function/method declarations or protocol extensions and elsewhere.
Any further input or examples for situations where this might cause issues would be much appreciated :)

Cheers,
Kilian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170310/47cd38e0/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170310/47cd38e0/attachment.sig>


More information about the swift-evolution mailing list