Suppose we have:
let mut x: [[T; 100]; 200] = ...
Suppose furthermore, we want:
let mut r1 = &mut x[i+1][j+2]; let mut r2 = &mut x[i+2][j+3];
This clearly "can not work" since we can't borrow
x mutably twice in the same context. Is there a way to make this happen?
Aside: Yes, I'm 100% sure they are disjoint. No, they are not specified at compile time. It's literally there exists indices i, j where we want items (i+1, j+2) and item (i+2, j+3)