Avatar ·

É possível inicializar um HashMap em Rust de forma mais concisa e declarativa?

Olá a todos! Comecei a estudar Rust recentemente e me deparei com um problema: preciso criar um HashMap com vários pares chave-valor predefinidos. O que estou escrevendo atualmente parece muito verboso: ```rust use std::collections::HashMap; let mut scores = HashMap::new(); scores.insert(String::from("Blue"), 10); scores.insert(String::from("Yellow"), 50); scores.insert(String::from("Red"), 25); ``` Isso ocupa 6 linhas para três pares! Em Python, posso escrever `{"Blue": 10, "Yellow": 50, "Red": 25}` — em uma única linha. Em JavaScript — `{Blue: 10, Yellow: 50, Red: 25}`. Já em Rust, preciso escrever um monte de código boilerplate. Tentei usar o macro `vec![]` e depois `.into_iter().collect()`, mas parece não ser a abordagem correta. Existe algum macro embutido `hashmap!{}` ou outra forma de tornar a inicialização mais concisa e declarativa? Talvez exista alguma crate que adicione isso? Ou estou apenas abordando o Rust idiomático de forma errada? Por favor, me ajudem.