`future::timeout` panics when provided with large timeouts
patrickfreed opened this issue · 2 comments
patrickfreed commented
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
Fishrock123 commented
It seems like this was fixed upstream in async-io - smol-rs/async-io#87 - pending a release of that crate.
notgull commented
With the newest release of async-io, this issue should be fixed now.