Erreur "cannot move out of index of" en Rust : que signifie-t-elle et comment la corriger ?
Bonjour ! J'ai commencé à apprendre Rust et je suis tombé sur une erreur incompréhensible en travaillant avec un vecteur. J'ai une structure `User`, et j'essaie d'extraire un élément du vecteur par index pour le passer à une fonction qui prend possession (ownership). Voici mon code :
```rust
struct User {
name: String,
age: u32,
}
fn process_user(user: User) {
println!("Processing user: {}", user.name);
}
fn main() {
let mut users = vec![
User { name: "Alice".to_string(), age: 30 },
User { name: "Bob".to_string(), age: 25 },
];
let first_user = users[0]; // Erreur : cannot move out of index of `Vec`
process_user(first_user);
}
```
Le compilateur affiche : `error[E0507]: cannot move out of index of 'Vec'`. Je comprends que Rust contrôle strictement la propriété, mais