pub fn or_insert_with_key<F: FnOnce(&K) -> V>(self, default: F) -> &'a mut V {
        match self {
            Occupied(entry) => entry.into_mut(),
            Vacant(entry) => {
                let value = default(entry.key());
                entry.insert(value)
            }
        }
    }
Gets a reference to the key that would be used when inserting a value
through the VacantEntry.

# Examples

```
use std::collections::BTreeMap;

let mut map: BTreeMap<&str, usize> = BTreeMap::new();
assert_eq!(map.entry("poneyland").ke
benchmarks/haystacks/code/rust-library.rs