Hi! I’m trying to learn how the borrow checker works.
I saw that the borrow checker is run on “validated” MIR, that is different from the final “optimized” MIR.
For example, a move of a mutable reference is
_2 = move _1 in optimized MIR, but sometimes it’s a
_2 = &mut (*_1) in validated MIR.
My question is: by running the borrow checker on optimized MIR, would it detect all the errors that it would have detected on validated MIR?