Почему borrow checker не принимает код (cannot borrow `v` as immutable because it is also borrowed as mutable)
let mut v = vec![0];
v[v.len() - 1] = 1;
в то время как код, в который по идее должен бы скомпилиться приведенный выше
use std::ops::IndexMut;
*v.index_mut(v.len() - 1) = 1;
работает как положено