Например вот такой кусок кода на Java:
public static void collect( Map<String, Boolean> map, List<String> list){
map.entrySet().stream().filter( Map.Entry::getValue ).map( Map.Entry::getKey ).collect( Collectors.toCollection( () -> list ) );
}
и пытаюсь такое же применить в Rust
fn test_collect<'a>( map: &'a HashMap<String,bool>, vec: &mut Vec<&'a String> ){
let mut cc:Vec<&String> = map.iter().filter(| &(_, v) | *v ).map(| ( k, _ ) | k ).collect();
vec.append(&mut cc);
}
Что-то не нахожу как сделать без промежуточного вектора.
cast tailgunner, DarkEld3r