<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><div><span style="background-color: rgba(255, 255, 255, 0);">+1 with a small concern</span></div><div id="AppleMailSignature"><span style="background-color: rgba(255, 255, 255, 0);"><br></span></div><div id="AppleMailSignature"><span style="background-color: rgba(255, 255, 255, 0);">'This version will forward to the free function.'</span></div><div id="AppleMailSignature"><span style="background-color: rgba(255, 255, 255, 0);"><br></span></div><div id="AppleMailSignature"><span style="background-color: rgba(255, 255, 255, 0);">Is that a mistake? Wouldn't the free function forward to the added method?</span></div><div id="AppleMailSignature"><span style="background-color: rgba(255, 255, 255, 0);"><br>TJ&nbsp;</span></div></div><div><br>On Apr 26, 2017, at 16:33, Xiaodi Wu via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">On Wed, Apr 26, 2017 at 6:02 PM, Howard Lovatt <span dir="ltr">&lt;<a href="mailto:howard.lovatt@gmail.com" target="_blank">howard.lovatt@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Regarding: "Source compatibility is a serious goal now. There's no harm in the current `swap`, and I use it. This is no rationale for breaking existing code."<br>
<br>
Swap for arrays will have to go when ARC controls come in. You can't pass two parts of the same array to one function. The relevant bit from the Ownership manifesto is:<br>
<br>
"Accessing a component of a value type through a subscript is treated as accessing the entire value, and so is considered to overlap any other access to the value."<br></blockquote><div><br></div><div>Yes, for arrays. I use it to swap two variables `a` and `b`.</div><div><br></div><div>```</div><div>var a = 1</div><div>var b = 2</div><div>swap(&amp;a, &amp;b)</div><div>```</div><div><br></div></div></div></div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>swift-evolution mailing list</span><br><span><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a></span><br><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div></blockquote></body></html>