Skip to content

chore: bump pinned Rust toolchain to 1.95.0 - #662

Merged
xdustinface merged 1 commit into
v0.42-devfrom
chore/bump-rust-1.95
Apr 19, 2026
Merged

xdustinface merged 1 commit into
v0.42-devfrom
chore/bump-rust-1.95

Conversation

@QuantumExplorer

Copy link
Copy Markdown
Member

Summary

  • `constant_time_eq@0.4.3` was published requiring rustc 1.95.0. Because `Cargo.lock` isn't tracked, every CI run resolves dependencies fresh and picks up 0.4.3, failing against the current 1.94.1 pin. All open PR CI is currently red for this reason.
  • Bumps `rust-toolchain.toml` to 1.95.0 — the floor the newer transitive dep needs.
  • Fixes the handful of new clippy lints this unlocks so `-D warnings` stays clean:
    • `useless_conversion`: drop redundant `.into_iter()` on `zip()`'s second operand (key-wallet psbt, sml engine)
    • `sort_by_key`: `sort_by(cmp)` → `sort_by_key` for simple keyers (sml merkle roots, chain_tip)
    • `iter_on_hashmap_values`: `map.iter().filter_map(|(_, s)| …)` → `map.values().filter_map(|s| …)` (bip158)
    • `while_let_loop`: collapse `loop { let Some(..) = .. else break; .. }` into `while let Some(..) = .. { .. }` (filters manager)

MSRV (1.89) is unchanged — the toolchain pin is the dev toolchain, not the library MSRV. The MSRV job in `.github/workflows/rust.yml` still claims to check 1.89; whether it actually does (given rust-toolchain.toml overrides `dtolnay/rust-toolchain@1.89`) is a separate pre-existing question and out of scope here.

Test plan

  • `cargo check --workspace --all-features` with 1.95.0 locally
  • `cargo clippy --workspace --all-features --all-targets -- -D warnings` clean
  • `cargo fmt --check` clean
  • CI green on this PR (the point of the bump)

🤖 Generated with Claude Code

constant_time_eq@0.4.3 (pulled transitively via blake3) requires
rustc 1.95.0, and every CI run resolves to it fresh because
Cargo.lock is not tracked — the 1.94.1 pin no longer resolves. Bump
the toolchain pin to 1.95.0 (matches constant_time_eq's floor) and
apply the handful of new clippy lints this unlocks:

- useless_conversion: drop redundant .into_iter() on the second
  operand of zip()
- sort_by_key: swap sort_by(cmp) for sort_by_key where applicable
- iter_on_hashmap_values: txmap.iter().filter_map(|(_, s)| ...) ->
  txmap.values().filter_map(|s| ...)
- while_let_loop: collapse `loop { let Some(..) = .. else break; .. }`
  into `while let Some(..) = .. { .. }`

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Apr 19, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@QuantumExplorer has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 8 minutes and 56 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 8 minutes and 56 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a4f1d141-1860-4a83-a65e-991b2c06378c

📥 Commits

Reviewing files that changed from the base of the PR and between 5f40cf8 and 3492fd9.

📒 Files selected for processing (7)
  • dash-spv/src/chain/chain_tip.rs
  • dash-spv/src/sync/filters/manager.rs
  • dash/src/bip158.rs
  • dash/src/sml/masternode_list/merkle_roots.rs
  • dash/src/sml/masternode_list_engine/mod.rs
  • key-wallet/src/psbt/mod.rs
  • rust-toolchain.toml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/bump-rust-1.95

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@codecov

codecov Bot commented Apr 19, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 87.50000% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 68.12%. Comparing base (5f40cf8) to head (3492fd9).
⚠️ Report is 1 commits behind head on v0.42-dev.

Files with missing lines Patch % Lines
key-wallet/src/psbt/mod.rs 66.66% 1 Missing ⚠️
Additional details and impacted files
@@              Coverage Diff              @@
##           v0.42-dev     #662      +/-   ##
=============================================
+ Coverage      68.07%   68.12%   +0.05%     
=============================================
  Files            319      319              
  Lines          67661    67660       -1     
=============================================
+ Hits           46057    46094      +37     
+ Misses         21604    21566      -38     
Flag Coverage Δ
core 75.52% <100.00%> (ø)
ffi 38.27% <ø> (+0.32%) ⬆️
rpc 20.00% <ø> (ø)
spv 85.85% <100.00%> (+0.02%) ⬆️
wallet 68.05% <66.66%> (ø)
Files with missing lines Coverage Δ
dash-spv/src/chain/chain_tip.rs 87.03% <100.00%> (ø)
dash-spv/src/sync/filters/manager.rs 96.94% <100.00%> (+0.28%) ⬆️
dash/src/bip158.rs 94.80% <100.00%> (ø)
dash/src/sml/masternode_list/merkle_roots.rs 64.38% <100.00%> (ø)
dash/src/sml/masternode_list_engine/mod.rs 75.43% <100.00%> (ø)
key-wallet/src/psbt/mod.rs 85.44% <66.66%> (ø)

... and 19 files with indirect coverage changes

@xdustinface
xdustinface merged commit 79484ae into v0.42-dev Apr 19, 2026
61 of 62 checks passed
@xdustinface
xdustinface deleted the chore/bump-rust-1.95 branch April 19, 2026 21:57
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.

2 participants