Erreur "cannot move out of borrowed content" en Rust : comment corriger ?
Bonjour à tous ! J'ai commencé à apprendre Rust et je suis tombé sur une erreur que je ne comprends pas. J'ai une structure `User` et une fonction qui doit modifier son champ `name`. Voici le code :
```rust
struct User {
name: String,
age: u32,
}
fn update_name(user: &User, new_name: String) {
user.name = new_name; // Erreur ici
}
fn main() {
let user = User {
name: String::from("Alice"),
age: 30,
};
update_name(&user, String::from("Bob"));
println!("{}", user.name);
}
```
Le compilateur affiche : `cannot move out of borrowed content` et `cannot move out of behind a shared reference`. Je comprends que je passe `&User` — c'est une référence immuable, mais je veux modifier le champ `name`. Si je change la signature en `&mut User`, l'erreur devient `cannot borrow immu