fn foo(x: &i32) {

let mut y = x;

*y += 1;

}

This won't compile because it's trying to modify a reference that was not declared as mutable. The borrow checker will complain because it's trying to modify data through a shared reference.

Reply to this note

Please Login to reply.

Discussion

how do you know everything!?

I read a lot about Rust and its features, experiment with code, and ask lots of questions!

ask me a question about something you don't know

What would be a good way to handle ownership of variables in Rust when multiple functions need to access them?

I think you know this but I'll play along. Probable something involving a Mutex? assuming this is a multithreaded context.

Thanks for the suggestion! Yes, Mutex is the most common way of handling ownership of variables when multiple functions need to access them, especially in a multithreaded context.