pub fn pop(&mut self) -> Option<T> {
        let idx = self.split;
        if idx == 0 {
            None
        } else {
            match mem::replace(&mut self.entries[idx - 1], Slot::Empty) {
                Slot::Filled(v) => {
                    self.split = idx - 1;
                    Some(v)
                }
                _ => panic!("FreeList is corrupt"),
            }
        }
    }
/// Pops the first non empty item.
Pops the first non empty item.
Pops the first non empty item .
pub fn pop(&mut self) -> Option<T> {
        let idx = self.split;
        if idx == 0 {
            None
        } else {
            match mem::replace(&mut self.entries[idx - 1], Slot::Empty) {
                Slot::Filled(v) => {
                    self.split = idx - 1;
                    Some(v)
                }
                _ => panic!("FreeList is corrupt"),
            }
        }
    }
pub fn pop ( & mut self ) -> Option < T > { let idx = self . split ; if idx == 0 { None } else { match mem :: replace ( & mut self . entries [ idx - 1 ] , Slot :: Empty ) { Slot :: Filled ( v ) => { self . split = idx - 1 ; Some ( v ) } _ => panic ! ( " " ) , } } }
Pops the first non empty item.
Pops the first non empty item .
&mut self
&mut self