message: task: Use `?` operator for unpacking None
diff: @@ -295,27 +295,22 @@ impl PriorityTaskQueue {
  }
  fn pop_from_queue(&mut self, queue_index: usize) -> Option<Rc<RefCell<Task>>> {
  - let new_head;
  - let task;
  -
  - match self.queues[queue_index].head {
  - None => {
  - return None;
  - }
  - Some(ref mut head) => {
  + let (new_head, task) = {
  + let head = self.queues[queue_index].head.as_mut()?;
  let mut borrow = head.borrow_mut();
  if let Some(ref mut nhead) = borrow.next {
  nhead.borrow_mut().prev = None;
  }
  - new_head = borrow.next.clone();
  + let new_head = borrow.next.clone();
  borrow.next = None;
  borrow.prev = None;
  - task = head.clone();
  - }
  - }
  + let task = head.clone();
  +
  + (new_head, task)
  + };
  self.queues[queue_index].head = new_head;
  if self.queues[queue_index].head.is_none() {
  