[swift-evolution] Infer types of default function parameters

Ben Rimmington me at benrimmington.com
Sat Mar 11 09:45:56 CST 2017


Previously:

<https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160509/016982.html>

<http://discourse.natecook.com/t/proposal-allow-function-argument-type-to-be-omitted-when-passing-a-default-value-from-which-it-can-be-inferred/1540>

> On 10 Mar 2017, at 21:40, Kilian Koeltzsch wrote:
> 
> 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/20170311/e3443760/attachment.html>


More information about the swift-evolution mailing list