[swift-users] swift 4.0 complains/warns about swapping array elements

Edward Connell ewconnell at gmail.com
Fri May 19 12:33:29 CDT 2017


Great! Yes, changing the diagnostic message will save people from having to
ask this question.

Thanks, Ed

On Fri, May 19, 2017 at 10:30 AM, Devin Coughlin <dcoughlin at apple.com>
wrote:

> 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/9aae41e2/attachment.html>


More information about the swift-users mailing list