New to Rust and so “another one dumb question”. What I miss here? :
let x = &mut 0; let y = &mut *x; let z = &mut *y;
All three variables have the type of &mut i32 and definitely pointing to the ‘zero’. And of course I can only mutate it through ‘z’ at this point. But how last two constructions are possible at all? What is dereference actually in terms of type system? Why can I take the (mutable) reference over dereferenced value … already (mutable) referenced early?
I feel myself like in a vicious circle here ))
Thanks in advance!