pub fn wait(self, timeout: impl Into<Expiry>) -> Result<&'c mut T, &'c mut Lender<T>> {
        let lender = ManuallyDrop::new(self)
            .0
            .take()
            .expect("Cannot call Collect::wait() after polling");
        if lender.try_collect() {
            return Ok(unsafe { lender.get_mut_unchecked() });
        }
        match block_on_poll(|cx| lender.poll_collect(cx.waker()), timeout) {
            Poll::Ready(()) => Ok(unsafe { lender.get_mut_unchecked() }),
            Poll::Pending => Err(lender),
        }
    }
/// Block the current thread on the collection of the shared resource
Block the current thread on the collection of the shared resource
Block the current thread on the collection of the shared resource
pub fn wait(self, timeout: impl Into<Expiry>) -> Result<&'c mut T, &'c mut Lender<T>> {
        let lender = ManuallyDrop::new(self)
            .0
            .take()
            .expect("Cannot call Collect::wait() after polling");
        if lender.try_collect() {
            return Ok(unsafe { lender.get_mut_unchecked() });
        }
        match block_on_poll(|cx| lender.poll_collect(cx.waker()), timeout) {
            Poll::Ready(()) => Ok(unsafe { lender.get_mut_unchecked() }),
            Poll::Pending => Err(lender),
        }
    }
pub fn wait ( self , timeout : impl Into < Expiry > ) -> Result < & ' c mut T , & ' c mut Lender < T > > { let lender = ManuallyDrop :: new ( self ) . 0 . take ( ) . expect ( " " ) ; if lender . try_collect ( ) { return Ok ( unsafe { lender . get_mut_unchecked ( ) } ) ; } match block_on_poll ( | cx | lender . poll_collect ( cx . waker ( ) ) , timeout ) { Poll :: Ready ( ( ) ) => Ok ( unsafe { lender . get_mut_unchecked ( ) } ) , Poll :: Pending => Err ( lender ) , } }
Block the current thread on the collection of the shared resource
Block the current thread on the collection of the shared resource
self
timeout
impl Into<Expiry>
self
timeout
impl Into<Expiry>