Hey all! I'm trying to take a crack at https://github.com/yoshuawuyts/futures-concurrency/issues/160 (replace the .clone() with Waker::clone_from)
and so far I have
/// Set the parent `Waker`. This needs to be called at the start of every
/// `poll` function.
pub(crate) fn set_waker(&mut self, parent_waker: &Waker) {
//self.parent_waker = Some(parent_waker.clone());
//Waker::clone_from(&mut (self.parent_waker).unwrap(), parent_waker);
Waker::clone_from(&mut self.parent_waker.unwrap(), parent_waker);
}
}
where the self is a ReadinessArray:
pub(crate) struct ReadinessArray<const N: usize> {
count: usize,
readiness_list: [bool; N],
parent_waker: Option<Waker>,
}
but I'm not making much progress. Any pointers?
