Avatar ·

Como converter um vetor em HashSet em Rust: guia completo

Olá a todos! Comecei a estudar Rust recentemente e me deparei com um problema. Tenho um vetor com números e quero obter um HashSet a partir dele para remover duplicatas e verificar rapidamente a presença de elementos. Em outras linguagens, como Python, isso é feito em uma linha: `set(my_list)`. Mas em Rust não consigo entender como fazer isso corretamente. Aqui está meu código: ```rust let numbers = vec![1, 2, 3, 2, 1, 4, 5]; // Quero obter um HashSet a partir deste vetor let unique_numbers: HashSet = numbers.???; // O que escrever aqui? ``` Tentei usar `numbers.into_iter().collect()`, mas o compilador reclama que não consegue inferir o tipo. Tentei especificar explicitamente `HashSet::from_iter(numbers)`, mas também não funcionou – diz que a trait `FromIterator` não está implementada. Também ouvi falar sobre o método `drain()`, mas não tenho certeza.