fn deref_mut(&mut self) -> &mut T {
        debug_assert!(!self.heap.is_empty());
        self.sift = true;
        // SAFE: PeekMut is only instantiated for non-empty heaps
        unsafe { self.heap.data.get_unchecked_mut(0) }
    }
Returns a mutable reference to the greatest item in the binary heap, or
`None` if it is empty.

Note: If the `PeekMut` value is leaked, the heap may be in an
inconsistent state.

# Examples

Basic usage:

```
use std::collections::BinaryHeap;
let mut heap = BinaryHeap::new();
assert!(heap.peek_mut().is_none());

heap.push(1);
heap.push(5);
heap.push(2);
{
benchmarks/haystacks/code/rust-library.rs