/// Remove and return the key, value pair stored in the map for this entry
///
/// Like `Vec::remove`, the pair is removed by shifting all of the
/// elements that follow it, preserving their relative order.
/// **This perturbs the index of all of those elements!**
///
/// Computes in **O(n)** time (average).
Remove and return the key, value pair stored in the map for this entry
Like `Vec::remove`, the pair is removed by shifting all of the
elements that follow it, preserving their relative order.
This perturbs the index of all of those elements!

Computes in **O(n)** time (average).
Remove and return the key value pair stored in the map for this entry Like ` Vec :: remove ` the pair is removed by shifting all of the elements that follow it preserving their relative order . This perturbs the index of all of those elements! Computes in ** O ( n ) ** time ( average ) .
pub fn shift_remove_entry(self) -> (K, V) {
        // This is safe because it can only happen once (self is consumed)
        // and map.indices have not been modified since entry construction
        unsafe {
            let (_, key, value) = self.map.shift_remove_bucket(self.raw_bucket);
            (key, value)
        }
    }
pub fn shift_remove_entry ( self ) -> ( K , V ) { // This is safe because it can only happen once (self is consumed) // and map.indices have not been modified since entry construction unsafe { let ( _ , key , value ) = self . map . shift_remove_bucket ( self . raw_bucket ) ; ( key , value ) } }
Remove and return the key, value pair stored in the map for this entry
Like `Vec::remove`, the pair is removed by shifting all of the
elements that follow it, preserving their relative order.
Remove and return the key value pair stored in the map for this entry Like ` Vec :: remove ` the pair is removed by shifting all of the elements that follow it preserving their relative order .
self