use axum::{ async_trait, extract::FromRequest, http::Request, }; use axum_macros::debug_handler; struct A; #[async_trait] impl FromRequest for A where S: Send + Sync, { type Rejection = (); async fn from_request(_req: Request, _state: &S) -> Result { unimplemented!() } } #[async_trait] impl FromRequest for Box where S: Send + Sync, { type Rejection = (); async fn from_request(_req: Request, _state: &S) -> Result { unimplemented!() } } impl A { #[debug_handler] async fn handler(self) {} #[debug_handler] async fn handler_with_qualified_self(self: Box) {} } fn main() {}