diff --git a/sqlxmq_macros/src/lib.rs b/sqlxmq_macros/src/lib.rs index b0452ad..2340f37 100644 --- a/sqlxmq_macros/src/lib.rs +++ b/sqlxmq_macros/src/lib.rs @@ -231,6 +231,11 @@ pub fn job(attr: TokenStream, item: TokenStream) -> TokenStream { } } + let outer_docs = inner_fn + .attrs + .iter() + .filter(|attr| attr.path.is_ident("doc")); + let vis = mem::replace(&mut inner_fn.vis, Visibility::Inherited); let name = mem::replace(&mut inner_fn.sig.ident, parse_quote! {inner}); let fq_name = if let Some(name) = options.name { @@ -281,6 +286,7 @@ pub fn job(attr: TokenStream, item: TokenStream) -> TokenStream { let expanded = quote! { #(#errors)* + #(#outer_docs)* #[allow(non_upper_case_globals)] #vis static #name: &'static sqlxmq::NamedJob = &{ #inner_fn diff --git a/src/lib.rs b/src/lib.rs index 412a9c8..39b7f4f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -242,7 +242,7 @@ pub fn should_retry(error: &sqlx::Error) -> bool { if let Some(db_error) = error.as_database_error() { // It's more readable as a match #[allow(clippy::match_like_matches_macro)] - match (db_error.code().as_deref(), db_error.constraint().as_deref()) { + match (db_error.code().as_deref(), db_error.constraint()) { // Foreign key constraint violation on ordered channel (Some("23503"), Some("mq_msgs_after_message_id_fkey")) => true, // Unique constraint violation on ordered channel