re: find_or_insert
http://static.rust-lang.org/doc/0.8/std/hashmap/struct.HashM...
It appears to still have the mandatory copy. (And this is just one example of a pervasive issue with the standard library.)
http://static.rust-lang.org/doc/0.8/std/hashmap/struct.HashM...
It appears to still have the mandatory copy. (And this is just one example of a pervasive issue with the standard library.)
fn find_or_insert_clone<'a, K: Clone, V>(map: &'a mut HashMap<K,V>,
key: &K, val: V) -> &'a mut V {
match map.find_mut(key) {
Some(x) => return x,
None => {}
}
// `key` is definitely missing
map.find_or_insert(key.clone(), val)
}