pub fn try_join(&mut self) -> Poll<Result<T, RecvError>> {
        if let Some(task) = self.task.take() {
            let task_ref = unsafe { &*task.as_ptr() };
            if let Poll::Ready((result, dropped)) = task_ref.channel.read(None, false) {
                if dropped || task_ref.channel.drop_one_side(false) {
                    unsafe { (task_ref.vtable.drop)(task.as_ptr() as *const ()) };
                }
                Poll::Ready(result.ok_or(RecvError::Incomplete))
            } else {
                self.task.replace(task);
                Poll::Pending
            }
        } else {
            Poll::Ready(Err(RecvError::Terminated))
        }
    }
/// Try to fetch the result of the task
Try to fetch the result of the task
Try to fetch the result of the task
pub fn try_join(&mut self) -> Poll<Result<T, RecvError>> {
        if let Some(task) = self.task.take() {
            let task_ref = unsafe { &*task.as_ptr() };
            if let Poll::Ready((result, dropped)) = task_ref.channel.read(None, false) {
                if dropped || task_ref.channel.drop_one_side(false) {
                    unsafe { (task_ref.vtable.drop)(task.as_ptr() as *const ()) };
                }
                Poll::Ready(result.ok_or(RecvError::Incomplete))
            } else {
                self.task.replace(task);
                Poll::Pending
            }
        } else {
            Poll::Ready(Err(RecvError::Terminated))
        }
    }
pub fn try_join ( & mut self ) -> Poll < Result < T , RecvError > > { if let Some ( task ) = self . task . take ( ) { let task_ref = unsafe { & * task . as_ptr ( ) } ; if let Poll :: Ready ( ( result , dropped ) ) = task_ref . channel . read ( None , false ) { if dropped || task_ref . channel . drop_one_side ( false ) { unsafe { ( task_ref . vtable . drop ) ( task . as_ptr ( ) as * const ( ) ) } ; } Poll :: Ready ( result . ok_or ( RecvError :: Incomplete ) ) } else { self . task . replace ( task ) ; Poll :: Pending } } else { Poll :: Ready ( Err ( RecvError :: Terminated ) ) } }
Try to fetch the result of the task
Try to fetch the result of the task
&mut self
&mut self