fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        f.debug_struct("OccupiedError")
            .field("key", self.entry.key())
            .field("old_value", self.entry.get())
            .field("new_value", &self.value)
            .finish()
    }
Ensures a value is in the entry by inserting, if empty, the result of the default function.
This method allows for generating key-derived values for insertion by providing the default
function a reference to the key that was moved during the `.entry(key)` method call.

The reference to the moved key is provided so that cloning or copying the key is
unnecessary, unlike with `.or_insert_with(|| ... )`.

# Examples

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

let mut map: BTreeMap<&str, usize> = BTreeMap::new();

map.entry("poneyland").or_insert_with_key(|key| key.chars(
benchmarks/haystacks/code/rust-library.rs