Skip to content

fix: pass clippy on Rust 1.99 - #7

Open
Sorttech wants to merge 1 commit into
mainfrom
chore/rust-1.99-clippy
Open

Sorttech wants to merge 1 commit into
mainfrom
chore/rust-1.99-clippy

Conversation

@Sorttech

@Sorttech Sorttech commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Problem

The GitHub runner's stable toolchain moved from Rust 1.98.1 to 1.99.0 on 2026-10-01. cargo clippy --workspace --all-targets -- -D warnings now fails on unchanged code (first seen on #6, whose diff doesn't touch any of these files; upstream main last passed clippy on 1.98.1).

Fix

  • clippy::double_must_use fires on the code async-trait 0.1.89 generates for every #[async_trait] trait (first hit: AwsService in fakecloud-core). async-trait 0.1.92 stops emitting the redundant #[must_use] (Resolve double_must_use clippy lint dtolnay/async-trait#303). Bumped in Cargo.lock only.
  • AtomicU64::fetch_update is deprecated in 1.99 in favour of try_update. try_update is newer than the workspace rust-version (1.94, which CI also builds), so the call keeps fetch_update under a scoped #[allow(deprecated)] with a note to switch once the MSRV reaches 1.99.
  • clippy::needless_borrows_for_generic_args on closures passed by reference to is_some_and / map in S3 annotations and SES templates.

Verification

  • Reproduced the CI failure locally on 1.99.0; with the fix, cargo clippy --workspace --all-targets -- -D warnings is clean on 1.99.0 (--keep-going, so no crate was hidden behind a failing dependency) and on 1.98.1.
  • cargo check --all-targets on 1.94 for core, s3 and ses.
  • Unit tests: core 342, s3 500, ses 279 passed.

The CI runner's stable toolchain moved from 1.98.1 to 1.99.0 on
2026-10-01, and `cargo clippy --workspace --all-targets -D warnings`
now fails on unchanged code:

- `clippy::double_must_use` fires on the code `async-trait` 0.1.89
  generates for every `#[async_trait]` trait (first hit:
  `fakecloud-core` `AwsService`). async-trait 0.1.92 stops emitting the
  redundant `#[must_use]` (dtolnay/async-trait#303); bumped in
  Cargo.lock.
- `AtomicU64::fetch_update` is deprecated in 1.99 in favour of
  `try_update`, which is newer than the workspace `rust-version` (1.94),
  so the call keeps `fetch_update` under a scoped `allow(deprecated)`
  with a note to switch once the MSRV reaches 1.99.
- `clippy::needless_borrows_for_generic_args` on closures passed by
  reference to `is_some_and` / `map` in S3 annotations and SES
  templates.

Workspace clippy is clean on 1.99.0 and 1.98.1; core, s3 and ses build
on 1.94.
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