use axum::extract::{FromRequest, Request}; use axum_macros::debug_handler; struct A; impl FromRequest for A where S: Send + Sync, { type Rejection = (); async fn from_request(_req: Request, _state: &S) -> Result { unimplemented!() } } 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() {}