From 6f8bf677fc4d4ef4f25d7a32583afaa7b9bd6e50 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Tue, 9 Jan 2024 14:53:15 -0800 Subject: [PATCH] Use Rust 1.75's async fn in trait instead of #[async_trait] --- src/cache.rs | 4 ++-- src/rust_version.rs | 2 -- src/teams.rs | 1 - 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/cache.rs b/src/cache.rs index 84c71d92a..f24c94b62 100644 --- a/src/cache.rs +++ b/src/cache.rs @@ -1,4 +1,5 @@ use std::error::Error; +use std::future::Future; use std::sync::Arc; use std::time::Instant; @@ -10,10 +11,9 @@ const CACHE_TTL_SECS: u64 = 120; pub type Cache = State>>; -#[async_trait] pub trait Cached: Send + Sync + Clone + 'static { fn get_timestamp(&self) -> Instant; - async fn fetch() -> Result>; + fn fetch() -> impl Future>> + Send; async fn get(cache: &Cache) -> Self { let cached = cache.read().await.clone(); let timestamp = cached.get_timestamp(); diff --git a/src/rust_version.rs b/src/rust_version.rs index a2da75841..b84f64686 100644 --- a/src/rust_version.rs +++ b/src/rust_version.rs @@ -42,7 +42,6 @@ impl Default for RustVersion { } } -#[async_trait] impl Cached for RustVersion { fn get_timestamp(&self) -> Instant { self.1 @@ -68,7 +67,6 @@ impl Default for RustReleasePost { } } -#[async_trait] impl Cached for RustReleasePost { fn get_timestamp(&self) -> Instant { self.1 diff --git a/src/teams.rs b/src/teams.rs index 37492967e..77e5da27e 100644 --- a/src/teams.rs +++ b/src/teams.rs @@ -238,7 +238,6 @@ impl Default for RustTeams { } } -#[async_trait] impl Cached for RustTeams { fn get_timestamp(&self) -> Instant { self.1