Skip to content

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
mainfrom
lab-2545-fix-beta-clippy-double-must-use
Open

fix(rs): bump async-trait to 0.1.92, fix beta clippy double_must_use canary (LAB-2545)#72
27Bslash6 wants to merge 1 commit into
mainfrom
lab-2545-fix-beta-clippy-double-must-use

Conversation

@27Bslash6

Copy link
Copy Markdown
Contributor

Summary

  • 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 injects #[must_use] onto every generated trait method; clippy's beta double_must_use lint flags this as redundant since 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 needed: Cargo.toml already permits 0.1.92 under its "0.1" constraint. This PR just repins Cargo.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 in src/ as the suspected sites. Re-running cargo +beta clippy locally 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 in backend/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 — clean
  • cargo +stable clippy (same flags) — clean
  • cargo +1.85 clippy (same flags) — clean
  • cargo +stable test --features "cachekitio,redis,encryption,l1,macros,memcached,file" — all pass (incl. doctests)
  • cargo +stable fmt --all -- --check — clean
  • cargo deny check — advisories/bans/licenses/sources all ok

…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.
@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Team

Run ID: e394e804-83f5-4157-b155-2d6f628b5a43

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant