How to pass a link to mutable data in Rust?

I want to create a mutable structure on the stack and change it from helper functions.

#[derive(Debug)] struct Game { score: u32, } fn addPoint(game: &mut Game) { game.score += 1; } fn main() { let mut game = Game { score: 0 }; println!("Initial game: {:?}", game); // This works: game.score += 1; // This gives a compile error: addPoint(&game); println!("Final game: {:?}", game); } 

Trying to compile this gives:

 error[E0308]: mismatched types --> src/main.rs:19:14 | 19 | addPoint(&game); | ^^^^^ types differ in mutability | = note: expected type '&mut Game' found type '&Game' 

What am I doing wrong?

+8
source share
1 answer

The link should also be marked as mutable:

 addPoint(&mut game); 
+7
source

All Articles