Qual é a diferença entre colocar "mut" antes do nome de uma variável e depois do ":"?
Aqui estão duas assinaturas de funções que vi na documentação do Rust:
fn modify_foo(mut foo: Box<i32>) { *foo += 1; *foo }
fn modify_foo(foo: &mut i32) { *foo += 1; *foo }
Por que o posicionamento diferente demut
?
Parece que a primeira função também pode ser declarada como
fn modify_foo(foo: mut Box<i32>) { /* ... */ }