pub fn pop(&mut self) -> Option<T> {
        if self.is_empty() {
            return None;
        }

        let last = self.last();
        self.back += 1;

        mem::replace(&mut self.vals[last], None)
    }
/// Remove an element from the front of the queue.
/// Returns `None` when empty.
Remove an element from the front of the queue.
Returns `None` when empty.
Remove an element from the front of the queue . Returns ` None ` when empty .
pub fn pop(&mut self) -> Option<T> {
        if self.is_empty() {
            return None;
        }
        let last = self.last();
        self.back += 1;
        mem::replace(&mut self.vals[last], None)
    }
pub fn pop ( & mut self ) -> Option < T > { if self . is_empty ( ) { return None ; } let last = self . last ( ) ; self . back += 1 ; mem :: replace ( & mut self . vals [ last ] , None ) }
Remove an element from the front of the queue.
Remove an element from the front of the queue .
&mut self
&mut self