Skip to content

Commit a4067c4

Browse files
committed
app: Derive Deref for AppState
1 parent ca4601d commit a4067c4

File tree

1 file changed

+2
-11
lines changed

1 file changed

+2
-11
lines changed

src/app.rs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
33
use crate::config;
44
use crate::db::{connection_url, make_manager_config, ConnectionConfig};
5-
use std::ops::Deref;
65
use std::sync::Arc;
76

87
use crate::email::Emails;
@@ -12,6 +11,7 @@ use crate::storage::Storage;
1211
use axum::extract::{FromRef, FromRequestParts, State};
1312
use crates_io_github::GitHubClient;
1413
use deadpool_diesel::Runtime;
14+
use derive_more::Deref;
1515
use diesel_async::pooled_connection::deadpool::Pool as DeadpoolPool;
1616
use diesel_async::pooled_connection::AsyncDieselConnectionManager;
1717
use diesel_async::AsyncPgConnection;
@@ -206,19 +206,10 @@ impl App {
206206
}
207207
}
208208

209-
#[derive(Clone, FromRequestParts)]
209+
#[derive(Clone, FromRequestParts, Deref)]
210210
#[from_request(via(State))]
211211
pub struct AppState(pub Arc<App>);
212212

213-
// deref so you can still access the inner fields easily
214-
impl Deref for AppState {
215-
type Target = App;
216-
217-
fn deref(&self) -> &Self::Target {
218-
&self.0
219-
}
220-
}
221-
222213
impl FromRef<AppState> for cookie::Key {
223214
fn from_ref(app: &AppState) -> Self {
224215
app.session_key().clone()

0 commit comments

Comments
 (0)