pub async fn timeout<F: Future>( duration: Duration, future: F, ) -> Result<F::Output, Elapsed>
Platform-agnostic timeout. Send-safe on all platforms.