From 789e1ce6738351e856e80aeb86ec7a8cfa3a28b2 Mon Sep 17 00:00:00 2001 From: TheDancingDeveloper Date: Fri, 9 Oct 2026 02:43:02 +0000 Subject: [PATCH] fix: allow clippy::double_must_use on DispatchEngine async_trait emits a message-less #[must_use] on the boxed future it returns for `async fn shutdown`, and clippy 1.99 rejects that as double_must_use because the boxed future is already must-use. The attribute is generated by the macro, so the allow has to live on the trait. The monorepo crate is identical here and will hit the same lint once it is published. A full re-sync is not warranted: the monorepo's nzb-dispatch differs only in an NntpError match arm for variants that are not in the published nzb-nntp this mirror depends on, and its Cargo.toml uses path and workspace dependencies. --- src/dispatch_engine.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/dispatch_engine.rs b/src/dispatch_engine.rs index e7e8888..689948e 100644 --- a/src/dispatch_engine.rs +++ b/src/dispatch_engine.rs @@ -27,6 +27,11 @@ use parking_lot::Mutex; /// Constructed by the facade/queue layer and owned as `Arc`. /// All methods are `&self`; implementations use interior mutability to allow /// concurrent use across tokio tasks. +// async_trait stamps `#[must_use]` with no message on the boxed future it +// returns, and a newer clippy rejects that as double_must_use because the +// boxed future is already must-use. The attribute is macro-generated, so the +// suppression has to sit on the trait rather than the method. +#[allow(clippy::double_must_use)] #[async_trait::async_trait] pub trait DispatchEngine: Send + Sync { /// Spawn workers for all currently enabled servers and start the