¿Cuál es la diferencia entre colocar "mut" antes de un nombre de variable y después de ":"?
Aquí hay dos firmas de funciones que vi en la documentación de Rust:
fn modify_foo(mut foo: Box<i32>) { *foo += 1; *foo }
fn modify_foo(foo: &mut i32) { *foo += 1; *foo }
¿Por qué la diferente ubicación demut
?
Parece que la primera función también podría declararse como
fn modify_foo(foo: mut Box<i32>) { /* ... */ }