pub fn back_mut(&mut self) -> Option<&mut EntryData> {
        let index = self.tail()?;

        match &mut self.entries[index] {
            Entry::Occupied(entry) => Some(&mut entry.value),
            _ => None,
        }
    }
/// Returns a mutable reference to the value at the back of the list, if it exists.
///
/// Complexity: O(1)
///
/// # Examples
///
/// ```
/// use dlv_list::VecList;
///
/// let mut list = VecList::new();
/// assert_eq!(list.back_mut(), None);
///
/// list.push_back(0);
/// list.push_back(5);
///
/// let mut back = list.back_mut().unwrap();
/// assert_eq!(back, &mut 5);
/// *back *= 2;
///
/// assert_eq!(list.back(), Some(&10));
/// ```
Returns a mutable reference to the value at the back of the list, if it exists.
Returns a mutable reference to the value at the back of the list if it exists .
pub fn back_mut(&mut self) -> Option<&mut EntryData> {
        let index = self.tail()?;
        match &mut self.entries[index] {
            Entry::Occupied(entry) => Some(&mut entry.value),
            _ => None,
        }
    }
pub fn back_mut ( & mut self ) -> Option < & mut EntryData > { let index = self . tail ( ) ? ; match & mut self . entries [ index ] { Entry :: Occupied ( entry ) => Some ( & mut entry . value ) , _ => None , } }
Returns a mutable reference to the value at the back of the list, if it exists.
Returns a mutable reference to the value at the back of the list if it exists .
&mut self
&mut self
examples
```
use dlv_list::VecList.

let mut list = VecList::new();
assert_eq!(list.back_mut(), None).

list.push_back(0);
list.push_back(5).

let mut back = list.back_mut().unwrap();
assert_eq!(back, &mut 5);
back *= 2.


` ` ` use dlv_list :: VecList . let mut list = VecList :: new () ; assert_eq! ( list . back_mut () None ) . list . push_back ( 0 ) ; list . push_back ( 5 ) . let mut back = list . back_mut () . unwrap () ; assert_eq! ( back &mut 5 ) ; back * = 2 .