For functions in an impl block we use this syntax:
fn test(&mut self) {}
But for a normal function we use this syntax:
fn test(data: &mut u64) {}
I understand self
is a variable, while Self
is type. In first case we use &mut
with the variable (self
), but in the second then we used &mut
with the type (u64
). Why is there this inconsistency?