about summary refs log tree commit diff
path: root/src/rustllvm/PassWrapper.cpp
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2014-09-08 09:50:18 -0700
committerPatrick Walton <pcwalton@mimiga.net>2014-09-08 10:50:34 -0700
commit3ca53d3a100a4466ed91df6d5a696d112db82b68 (patch)
tree7d94650fab70c594c30e457cf76e976a63a7da83 /src/rustllvm/PassWrapper.cpp
parentd8a26184dc103025e7ad457ffd8deb391019dbfe (diff)
downloadrust-3ca53d3a100a4466ed91df6d5a696d112db82b68.tar.gz
rust-3ca53d3a100a4466ed91df6d5a696d112db82b68.zip
librustc: Make sure lifetimes in `for` loop heads outlive the `for` loop
itself.

This breaks code like:

    for &x in my_vector.iter() {
        my_vector[2] = "wibble";
        ...
    }

Change this code to not invalidate iterators. For example:

    for i in range(0, my_vector.len()) {
        my_vector[2] = "wibble";
        ...
    }

The `for-loop-does-not-borrow-iterators` test for #8372 was incorrect
and has been removed.

Closes #16820.

[breaking-change]
Diffstat (limited to 'src/rustllvm/PassWrapper.cpp')
0 files changed, 0 insertions, 0 deletions