I'm having trouble figuring out how to use a HashMap with a key of type ~str idiomatically. For example,
let mut map: hashmap::HashMap<~str, int> = hashmap::HashMap::new(); // Inserting is fine, I just have to copy the string. map.insert("hello".to_str(), 1); // If I look something up, do I really need to copy the string? // This works: map.contains_key(&"hello".to_str()); // This doesn't: as expected, I get // error: mismatched types: expected `&~str` but found `&'static str` (expected &-ptr but found &'static str) map.contains_key("hello"); Based on this bug report, I tried
map.contains_key_equiv("hello"); but got
error: mismatched types: expected `&<V367>` but found `&'static str` (expected &-ptr but found &'static str) I really don't understand this last message; does anyone have a suggestion?
Borrowtrait, a simple translation of the code to current syntax and method names will work just fine, with no error.