<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 30, 2016 at 3:30 PM, Scott James Remnant 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">As with the original proposal, your examples here don&#39;t obey the Naming Guidelines.<br>
<br>
If we&#39;re going to pretend that Swift is C, we wouldn&#39;t have a distinction between argument labels and parameter names in the first place!<br>
<br>
Is there an example of two functions, obeying the naming guidelines, which have different argument labels (not parameter names) for parameters of the same type, where it makes sense to cross-call them?<br></blockquote><div><br></div><div>Sure there are. For example, `adding(_:)` and `multiplied(by:)` in the new Integer protocol.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Scott<br>
<div class="HOEnZb"><div class="h5"><br>
&gt; On Jun 30, 2016, at 1:11 PM, Vladimir.S &lt;<a href="mailto:svabox@gmail.com">svabox@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; On 30.06.2016 21:56, Scott James Remnant via swift-evolution wrote:<br>
&gt;&gt;&gt; They already *are* type compatible. This works right now:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; var a : (ofHits: Int, forRuns: Int) -&gt; Bool = meetsBattingAverage a =<br>
&gt;&gt;&gt; sinkBattleship // ??? a(ofHits: 1, forRuns: 2)<br>
&gt;&gt;<br>
&gt;&gt; Your proposal does not make it clear that this works (which is<br>
&gt;&gt; surprising to me).<br>
&gt;&gt;<br>
&gt;&gt; I would argue the proposal the other way: that there should be an error<br>
&gt;&gt; on line 2, and this should not be permitted implicitly.<br>
&gt;<br>
&gt; I&#39;m not sure if this is a definitely bad thing. Let&#39;s assume I have a number of funcs with similar but different labels and I want to define a function variable with another labels and assign one of these funcs:<br>
&gt;<br>
&gt; func foo(one: Int, two: Int) {..}<br>
&gt; func bar(first: Int, second: Int) {..}<br>
&gt;<br>
&gt; var a : (alfa: Int, betta: Int) -&gt; () = foo<br>
&gt; a(alfa: 1, betta: 2)<br>
&gt; a = bar<br>
&gt; a(alfa: 1, betta: 2)<br>
&gt;<br>
&gt; But the type of `a` is still (Int, Int) -&gt; () the same as for `foo` and `bar`<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; Scott _______________________________________________ swift-evolution<br>
&gt;&gt; mailing list <a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
&gt;&gt; <a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/mailman/listinfo/swift-evolution</a><br>
&gt;&gt;<br>
<br>
_______________________________________________<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/mailman/listinfo/swift-evolution</a><br>
</div></div></blockquote></div><br></div></div>