build: update rust to 1.98.1 - #4721
Conversation
Move the pinned toolchain from 1.92 to 1.98.1 and the workspace rust-version to 1.98, and fix the clippy lints the newer toolchain raises under -D warnings. All lint fixes are behaviour-preserving rewrites; wasm-dpp gains the same crate-level result_large_err allowance the other dpp-error crates already carry. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 42 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (47)
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. Comment |
|
📖 Book Preview built successfully. Download the preview from the workflow artifacts. Updated at 2026-09-13T10:14:29.042Z |
|
🕓 Queued for automated review — 7th in line, estimated start in ~3 h (commit 7a995bb)
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## v4.2-dev #4721 +/- ##
============================================
- Coverage 84.42% 83.16% -1.26%
============================================
Files 2812 2812
Lines 379448 380887 +1439
============================================
- Hits 320335 316752 -3583
- Misses 59113 64135 +5022
🚀 New features to boost your workflow:
|
Issue being fixed or feature implemented
The workspace has been pinned to Rust 1.92 since December 2025 (#2905). This moves it to the current stable, 1.98.1, so local toolchains and CI run one release and the five-release-old pin can be retired. The companion change for rust-dashcore is dashpay/rust-dashcore#1018.
What was done?
rust-toolchain.tomlchannel1.92→1.98.1; rootCargo.tomlrust-version1.92→1.98(the same pair of edits as chore: clippy, cargo machete, rust update to 1.92 #2905 and build: update rust to 1.89 #2755). The Dockerfile and therustsetup action read the channel fromrust-toolchain.toml, so nothing else pins a version. The two mentions in the book are updated.-D warnings. Every change is a behaviour-preserving rewrite:useless_borrows_in_formatting: dropped redundant&onformat!/assert!arguments (two cbindgen build scripts, drive votes, rs-sdk-ffi, drive tests).chunks_exact_to_as_chunks:chunks_exact(32)→as_chunks::<32>()(platform-wallet shielded file store, platform-wallet-ffi persistence).unnecessary_sort_by:sort_by(|a, b| …cmp…)→sort_by_key/Reverse(drive-abci masternode identity updates, platform-wallet, wallet-storage backup, strategy-tests, rs-scripts).for_kv_map/iter_kv_map:for (_, v) in map.iter()→map.values()and friends (dpp versioned methods, drive-abci checkpoints and validator set, wasm-dpp, wasm-sdk, strategy-tests).question_mark:if let Some(x) = x { … } else { return None }→x?(dpp cbor paths, the 21 property arms in drivevalidate_uniqueness_of_datav0/v1).collapsible_match:Arm => { if cond { … } }→Arm if cond => { … }(drive-abciconsensus_params_updatev0/v1, token config update state_v0, strategy address tests).result_large_erron closures returning dppResults: restructureddump.rsin rs-dapi-client andparse_contract_idin rs-scripts; wasm-dpp gets the crate-level#![allow(clippy::result_large_err)]that dpp, drive, drive-abci, rs-sdk and the wallet crates already carry.unnecessary_unwrap(update_operator_identity v0, replay),drain_collect(unsigned withdrawal txs),explicit_counter_loop(strategy-tests key ids, drive range-countable tests),unstable_name_collisions(Merge::mergein a test),useless_format(genesis shielded test).Some of these land in shipped
vNmodules (drivevalidate_uniqueness_of_datav0/v1, drive-abciconsensus_params_updatev0/v1,update_operator_identityv0,update_masternode_identitiesv0,unsigned_withdrawal_txsv0,validator_setv0, token configstate_v0). They are mechanical rewrites with identical semantics, the same treatment the 1.92 bump gave frozen modules.How Has This Been Tested?
cargo clippy --workspace --all-targets --all-features --locked -- --no-deps -D warnings(the command fromtests-rs-workspace.yml) exits 0 under rustc 1.98.1.cargo fmt --all --checkis clean.Breaking Changes
None at the protocol level. The declared MSRV of the published crates moves from 1.92 to 1.98 via the workspace
rust-version, as with every previous toolchain bump.Checklist:
For repository code-owners and collaborators only
🤖 Generated with Claude Code