pub fn timeout<B, F>( duration: Duration, fut: F, ) -> impl Future<Output = Result<F::Output>>where B: CompletionBackend, F: Future,