fn main() { // Define a mutable variable and a reference to it let mut a: usize = 47; let aref: &usize = &a; // This function receives a mutable reference, and changes the original value. double(&mut a); println!("n_main = {}", a); // "n_main = 199" } // Accepts a mutable reference, changes the value it refers to, no return value fn double(n_inc_ref: &mut usize) { *n_inc_ref *= 2; }