Skip to content

fix: use try_update and bump MSRV to Rust 1.95 - #1369

Merged
MrCroxx merged 3 commits into
mainfrom
xuanwo/fix-atomic-deprecation
Oct 8, 2026
Merged

MrCroxx merged 3 commits into
mainfrom
xuanwo/fix-atomic-deprecation

Conversation

@Xuanwo

@Xuanwo Xuanwo commented Oct 2, 2026 •

Copy link
Copy Markdown
Collaborator

Rust 1.99 deprecates Atomic*::fetch_update, causing CI checks with -D warnings to fail. Use the renamed try_update API at all four call sites, preserving the existing closures and memory orderings.

Raise the minimum supported Rust version to 1.95.0, where try_update became stable, and align the CI matrix, release toolchain, development commands, and documented MSRV.

Validation has not been rerun for this revision.

Rust 1.99 deprecates Atomic::fetch_update as a rename of try_update, which is still unstable on MSRV 1.91.

Signed-off-by: Xuanwo <github@xuanwo.io>
@codecov

codecov Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
foyer-memory/src/eviction/s3fifo.rs 94.11% <100.00%> (ø)
foyer-opendal/src/lib.rs 85.52% <100.00%> (ø)

... and 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Rust 1.99 deprecates fetch_update, and try_update is unstable on MSRV 1.91. Frequency caps and the queue quota keep their previous value, saturation, and limit checks with compare_exchange_weak.

Signed-off-by: Xuanwo <github@xuanwo.io>
@Xuanwo Xuanwo changed the title fix: keep fetch_update building on the 1.91 MSRV fix: express atomic updates with compare-exchange Oct 2, 2026
@Xuanwo
Xuanwo marked this pull request as ready for review October 2, 2026 11:09

@MrCroxx MrCroxx left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The API is renamed to try_update, can we directly switch to the new API?

Signed-off-by: Xuanwo <github@xuanwo.io>
@Xuanwo Xuanwo changed the title fix: express atomic updates with compare-exchange fix: use try_update and bump MSRV to Rust 1.95 Oct 8, 2026

@MrCroxx MrCroxx left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM ❤️

@MrCroxx MrCroxx added this to the v0.23 milestone Oct 8, 2026
@MrCroxx
MrCroxx enabled auto-merge (squash) October 8, 2026 07:01
@MrCroxx
MrCroxx disabled auto-merge October 8, 2026 07:52
@MrCroxx
MrCroxx merged commit a2a94ba into main Oct 8, 2026
45 checks passed
@MrCroxx
MrCroxx deleted the xuanwo/fix-atomic-deprecation branch October 8, 2026 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants