Avatar ·

Como iterar sobre um HashMap, imprimindo chave/valor, e remover elementos em Rust?

Olá a todos! Sou novo em Rust e estou tentando resolver uma tarefa simples: tenho um `HashMap` e quero percorrer todos os seus elementos, exibir na tela os pares "chave-valor" e, em seguida, remover alguns deles com base em uma condição (por exemplo, todos onde o valor for menor que 10). O problema é que o borrow checker não me permite fazer isso.\n\nAqui está meu código, que não compila:\n\n```rust\nuse std::collections::HashMap;\n\nfn main() {\n let mut map = HashMap::new();\n map.insert("apple".to_string(), 5);\n map.insert("banana".to_string(), 15);\n map.insert("cherry".to_string(), 3);\n\n for (key, value) in &map {\n println!("{}: {}", key, value);\n if *value < 10 {\n map.remove(key); // Erro!\n }\n }\n}\n```\n\nO compilador emite o erro: `cannot borrow 'map