From 57dd1da6216b2b1786efe525b35de2cda86f433c Mon Sep 17 00:00:00 2001 From: fa-sharp Date: Thu, 19 Mar 2026 22:11:28 -0400 Subject: [PATCH] Update lib.rs --- crates/axum-app-wrapper-macros/src/lib.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/crates/axum-app-wrapper-macros/src/lib.rs b/crates/axum-app-wrapper-macros/src/lib.rs index a553c09..a0d325f 100644 --- a/crates/axum-app-wrapper-macros/src/lib.rs +++ b/crates/axum-app-wrapper-macros/src/lib.rs @@ -20,12 +20,14 @@ use syn::{Data, DeriveInput, Fields, parse_macro_input}; /// pool: Pool, /// db: Db, /// } +/// // To wrap the whole state in `Arc`, implement `TryFrom` for `Arc`: +/// impl TryFrom for Arc { +/// type Error = anyhow::Error; /// -/// // Plain state — axum will clone the whole struct on each request: -/// App::::new() -/// -/// // Or wrap in Arc yourself for cheap clones: -/// App::>::new() +/// fn try_from(map: TypeMap) -> Result { +/// Ok(Self(Arc::new(AppState::try_from(map)?))) +/// } +/// } /// ``` #[proc_macro_derive(AppState)] pub fn derive_app_state(input: TokenStream) -> TokenStream {