async-std
async-std copied to clipboard
`future::timeout` panics when provided with large timeouts
The async_std::future::timeout
function panics if a large duration is provided. This should either be documented as a possible panic conditon or changed to no longer panic.
Repro:
#[async_std::main]
async fn main() -> anyhow::Result<()> {
async_std::future::timeout(Duration::MAX, async {}).await;
Ok(())
}
Looks like the cause is an unchecked add in smol: https://github.com/smol-rs/async-io/blob/master/src/lib.rs#L162
It seems like this was fixed upstream in async-io - https://github.com/smol-rs/async-io/pull/87 - pending a release of that crate.
With the newest release of async-io
, this issue should be fixed now.