mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-22 00:00:11 +02:00
Remove incorrect FusedFuture impl on Delay (#1652)
`is_terminated` must return `true` until the future has been polled at least once to make sure that the associated block in select is called even after the delay has elapsed. You use `Delay` in a `select!` by [fusing it](https://docs.rs/futures-preview/0.3.0-alpha.19/futures/future/trait.FutureExt.html#method.fuse): ```rust let delay = tokio::timer::delay(/* ... */); let delay = delay.fuse(); select! { _ = delay => { /* work here */ } } ```
This commit is contained in:
committed by
Lucio Franco
parent
741bef8fe1
commit
29f35df7f8
@@ -91,13 +91,6 @@ impl Delay {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "async-traits")]
|
||||
impl futures_core::FusedFuture for Delay {
|
||||
fn is_terminated(&self) -> bool {
|
||||
self.is_elapsed()
|
||||
}
|
||||
}
|
||||
|
||||
impl Future for Delay {
|
||||
type Output = ();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user