Avatar ·

Erro "cannot move out of index of" em Rust: o que significa e como corrigir?

Olá! Comecei a estudar Rust e me deparei com um erro estranho ao trabalhar com vetor. Tenho uma struct `User` e estou tentando extrair um elemento do vetor por índice para passá-lo para uma função que assume a ownership. Aqui está meu código: ```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]; // Erro: cannot move out of index of `Vec` process_user(first_user); } ``` O compilador exibe: `error[E0507]: cannot move out of index of 'Vec'`. Eu entendo que o Rust controla rigorosamente a ownership, mas por