<div dir="ltr">-1 from me. I prefer explicitness at function boundaries. </div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 10, 2017 at 4:55 PM, David Sweeris via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><span class=""><br><div><blockquote type="cite"><div>On Mar 10, 2017, at 1:40 PM, Kilian Koeltzsch via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; wrote:</div><br class="m_7133315359983486514Apple-interchange-newline"><div><div style="word-wrap:break-word">Hi all,<div><br></div><div>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&#39;m just looking for some opinions.</div><div><br></div><div>Declaring a function that has default parameters currently looks like this:</div><div><br></div><div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(186,45,162)">func</span><span style="font-variant-ligatures:no-common-ligatures"> foo(bar: </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(112,61,170)">String</span><span style="font-variant-ligatures:no-common-ligatures"> = </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(209,47,27)">&quot;baz&quot;</span><span style="font-variant-ligatures:no-common-ligatures">) {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">    </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(62,30,129)">print</span><span style="font-variant-ligatures:no-common-ligatures">(bar)</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">}</span></div></div><div><br></div><div>Now I&#39;m wondering if there would be any problems if it were possible to omit the type annotation for default params and let Swift&#39;s type inference handle that. </div><div><br></div><div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures"><span style="color:rgb(186,45,162)">func</span> foo(bar = </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(209,47,27)">&quot;baz&quot;</span><span style="font-variant-ligatures:no-common-ligatures">) {</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">    </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(62,30,129)">print</span><span style="font-variant-ligatures:no-common-ligatures">(bar)</span></div><div style="margin:0px;font-size:11px;line-height:normal;font-family:Menlo"><span style="font-variant-ligatures:no-common-ligatures">}</span></div></div><div><br></div><div>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&#39;t think of any negative ramifications this might bring, be it in simple function/method declarations or protocol extensions and elsewhere. </div><div>Any further input or examples for situations where this might cause issues would be much appreciated :)</div></div></div></blockquote><br></div></span><div>Tentatively +1… I still haven’t thought through it as much as I’d like to.</div><br><div>- Dave Sweeris</div></div><br>______________________________<wbr>_________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br>
<br></blockquote></div><br></div>