[swift-evolution] [swift-evolution-announce] [Review] SE-0173: Add `MutableCollection.swap(_:with:)

John McCall rjmccall at apple.com
Wed Apr 26 23:12:11 CDT 2017


> On Apr 26, 2017, at 11:44 PM, gs. via swift-evolution <swift-evolution at swift.org> wrote:
> +1 with a small concern
> 
> 'This version will forward to the free function.'
> 
> Is that a mistake? Wouldn't the free function forward to the added method?

I'm not sure why this is there.  The implementation of the method is not part of the library specification.  If it forwards to the free function for some reason, it'll be via internal implementation details that certainly don't need to be described in this proposal.

Anyway, the free function can't forward to the method, it has to handle cases that have nothing to do with collections.

John.

> 
> TJ 
> 
> On Apr 26, 2017, at 16:33, Xiaodi Wu via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
> 
>> On Wed, Apr 26, 2017 at 6:02 PM, Howard Lovatt <howard.lovatt at gmail.com <mailto:howard.lovatt at gmail.com>> wrote:
>> 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."
>> 
>> 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:
>> 
>> "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."
>> 
>> Yes, for arrays. I use it to swap two variables `a` and `b`.
>> 
>> ```
>> var a = 1
>> var b = 2
>> swap(&a, &b)
>> ```
>> 
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170427/027e8498/attachment.html>


More information about the swift-evolution mailing list