fn insert(&mut self, key: usize, value: E) -> Option<E> {
        if self.data.get_label().counter() == 1 {
            self.data.insert(key, value)
        } else {
            None
        }
    }
/// Insert an element into this array, returning the previous element. Returns
/// `None` if and only if:
///
/// - The array is referenced by another pointer
/// - The index given is out-of-bounds
/// - There was nothing in the slot previously
Insert an element into this array, returning the previous element. Returns
`None` if and only if.

The array is referenced by another pointer
The index given is out-of-bounds
There was nothing in the slot previously
Insert an element into this array returning the previous element . Returns ` None ` if and only if . The array is referenced by another pointer The index given is out - of - bounds There was nothing in the slot previously
fn insert(&mut self, key: usize, value: E) -> Option<E> {
        if self.data.get_label().counter() == 1 {
            self.data.insert(key, value)
        } else {
            None
        }
    }
fn insert ( & mut self , key : usize , value : E ) -> Option < E > { if self . data . get_label ( ) . counter ( ) == 1 { self . data . insert ( key , value ) } else { None } }
Insert an element into this array, returning the previous element.
Insert an element into this array returning the previous element .
&mut self
key
usize
value
E