Skip to content

Commit da0c28c

Browse files
committed
use Waker::clone_from internally
1 parent 112b40e commit da0c28c

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

src/utils/wakers/array/readiness_array.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ impl<const N: usize> ReadinessArray<N> {
6262
/// Set the parent `Waker`. This needs to be called at the start of every
6363
/// `poll` function.
6464
pub(crate) fn set_waker(&mut self, parent_waker: &Waker) {
65-
self.parent_waker = Some(parent_waker.clone());
65+
match &mut self.parent_waker {
66+
Some(prev) => prev.clone_from(parent_waker),
67+
None => self.parent_waker = Some(parent_waker.clone()),
68+
}
6669
}
6770
}

src/utils/wakers/vec/readiness_vec.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,10 @@ impl ReadinessVec {
7474
/// Set the parent `Waker`. This needs to be called at the start of every
7575
/// `poll` function.
7676
pub(crate) fn set_waker(&mut self, parent_waker: &Waker) {
77-
self.parent_waker = Some(parent_waker.clone());
77+
match &mut self.parent_waker {
78+
Some(prev) => prev.clone_from(parent_waker),
79+
None => self.parent_waker = Some(parent_waker.clone()),
80+
}
7881
}
7982

8083
/// Resize `readiness` to the new length.

0 commit comments

Comments
 (0)