pub fn timeout<T: Future + Unpin>(duration: Duration, future: T) -> Timeout<T>Notable traits for Timeout<T>impl<T: Future + Unpin> Future for Timeout<T>    type Output = Result<T::Output, ()>;