<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 30, 2016 at 11:43 AM, 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:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">-1<br>
<br>
This proposal doesn’t even use Swift naming style to make its point, as soon as you do, the reason why Swift considers argument labels to be part of the type signature becomes apparent.<br>
<br>
The author of the proposal uses the following example:<br>
<span class=""><br>
  func doSomething(x: Int, y: Int) -&gt; Bool<br>
<br>
<br>
</span>This is just not Swift-y, a much better example would be:<br>
<br>
  func sinkBattleship(atX x: Int, y: Int) -&gt; Bool<br>
<br>
the proposal states that the argument labels be then stripped from the type, which would make this method type-compatible with:<br>
<br>
  func meetsBattingAverage(ofHits hits: Int, forRuns runs: Int) -&gt; Bool<br></blockquote><div><br></div><div>They already *are* type compatible. This works right now:</div><div><br></div><div><div>var a : (ofHits: Int, forRuns: Int) -&gt; Bool = meetsBattingAverage</div><div>a = sinkBattleship</div></div><div>// ???</div><div>a(ofHits: 1, forRuns: 2)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
<br>
I don’t think it’s desirable for this to work at all… Argument labels are not parameter names, they are a first class part of Swift’s type system, and always meaningful when employed properly.</blockquote><div><br></div><div>No they aren&#39;t, because of the implicit subtyping demonstrated above. It&#39;s better to remove the significance of argument labels completely than to vacillate on the topic and make promises we can&#39;t actually keep (per that example).</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<br>
<br>
Scott<br>
<div class=""><div class="h5">_______________________________________________<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>