pub(crate) unsafe fn dequeue<T>( buffer: *mut Cell<T>, dequeue_pos: &AtomicUsize, mask: usize, ) -> Option<T>