pub async fn timeout<F: Future>( limit: Duration, work: F, ) -> Result<F::Output, Elapsed>
work, or Elapsed past limit; given up then, as when it is dropped.
work
Elapsed
limit