← Back to context

Comment by stub_out

6 hours ago

C++ developers constantly wrestle with `vector` iterator invalidations. Good on Zig for making this a first-class concern.

How does Rust avoid this?

  • In rust you cannot mutate anything that is being read basically. The borrow checker enforces this.

    So an iterator takes an immutable reference to the vector and mutation requires a mut ref, and you can't have both at the same time.