fix(rs): bump async-trait to 0.1.92, fix beta clippy double_must_use canary (LAB-2545) - #72
Open
27Bslash6 wants to merge 1 commit into
Open
fix(rs): bump async-trait to 0.1.92, fix beta clippy double_must_use canary (LAB-2545)#7227Bslash6 wants to merge 1 commit into
27Bslash6 wants to merge 1 commit into
Conversation
…t_use canary (LAB-2545)
The beta clippy canary has been red on every branch since 2026-08-30 with
9 double_must_use errors, all on the #[async_trait]-annotated Backend /
TtlInspectable / LockableBackend trait definitions in backend/mod.rs.
Root cause: async-trait <=0.1.91 unconditionally injected #[must_use] onto
every generated trait method, which clippy's beta double_must_use lint
flags as redundant once the method already returns a must_use Result.
Upstream fixed this exact issue in 0.1.92 ("Resolve double_must_use clippy
lint in generated code #303"). No source changes are needed — Cargo.toml
already allows 0.1.92 under its "0.1" constraint; this just repins
Cargo.lock.
Verified cargo +beta/+stable/+1.85 clippy --all-targets --features
"cachekitio,redis,encryption,l1,macros,memcached,file" -- -D warnings all
clean, full test suite green, cargo deny check clean.
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
betaclippy canary has been red on every branch since 2026-08-30 with 9double_must_useerrors, all on the#[async_trait]-annotatedBackend/TtlInspectable/LockableBackendtrait definitions inbackend/mod.rs.async-trait<=0.1.91 unconditionally injects#[must_use]onto every generated trait method; clippy's betadouble_must_uselint flags this as redundant since the method already returns a must_useResult. Upstream fixed this exact issue in 0.1.92 ("Resolve double_must_use clippy lint in generated code #303").Cargo.tomlalready permits0.1.92under its"0.1"constraint. This PR just repinsCargo.lock(cargo update -p async-trait --precise 0.1.92).Note: the ticket's original triage (grooming addendum) pointed at 13 explicit
#[must_use]attributes on builder structs/accessors elsewhere insrc/as the suspected sites. Re-runningcargo +beta clippylocally against the exact CI feature set showed none of those trigger the lint — the actual 9 errors all trace to the three#[async_trait]macro invocations inbackend/mod.rs, confirmed byte-for-byte against the linked CI job log. Left those 13 sites untouched since they aren't the cause and aren't broken.Test plan
cargo +beta clippy --all-targets --features "cachekitio,redis,encryption,l1,macros,memcached,file" -- -D warnings— cleancargo +stable clippy(same flags) — cleancargo +1.85 clippy(same flags) — cleancargo +stable test --features "cachekitio,redis,encryption,l1,macros,memcached,file"— all pass (incl. doctests)cargo +stable fmt --all -- --check— cleancargo deny check— advisories/bans/licenses/sources all ok