/// Remove the first element of the list in-place and return a reference to
/// it, or `None` if the list is empty.
Remove the first element of the list in-place and return a reference to
it, or `None` if the list is empty.
Remove the first element of the list in - place and return a reference to it or ` None ` if the list is empty .
pub fn pop_front(&mut self) -> Option<&'a T> {
        match self {
            Nil => None,
            Cons((x, l)) => {
                *self = *l;
                Some(x)
            }
        }
    }
pub fn pop_front ( & mut self ) -> Option < & ' a T > { match self { Nil => None , Cons ( ( x , l ) ) => { * self = * l ; Some ( x ) } } }
Remove the first element of the list in-place and return a reference to
it, or `None` if the list is empty.
Remove the first element of the list in - place and return a reference to it or ` None ` if the list is empty .
&mut self