[swift-users] swift 4.0 complains/warns about swapping array elements
Devin Coughlin
dcoughlin at apple.com
Fri May 19 12:30:05 CDT 2017
Hi Ed,
> On May 19, 2017, at 10:10 AM, Edward Connell via swift-users <swift-users at swift.org> wrote:
>
> I just switched to the 5/17 swift 4.0 tool chain on Linux, and I am getting the following complaint when using swap on array elements. Is this warning legitimate because of a copy on write issue? If so, is there some new swap function for array elements? I realize I can turn 1 line into 3 and do the swapping myself, it's just verbose.
>
> warning: simultaneous accesses to var 'dims', but modification requires exclusive access; consider copying to a local variable
> swap(&dims[lastIndex], &dims[lastIndex-1])
You can use the new swapAt() method:
dims.swapAt(lastIndex, lastIndex-1)
I recently added a Fix-It for this — but we really should also say "consider using ‘swapAt()’” in the diagnostic text as well in this case rather then mentioning copying to a local.
Devin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20170519/2e65f54c/attachment.html>
More information about the swift-users
mailing list