chore - Bump MSRV/toolchain to stable 1.93 and fix strict clippy#530
chore - Bump MSRV/toolchain to stable 1.93 and fix strict clippy#530mingley wants to merge 2 commits intotikv:masterfrom
Conversation
Signed-off-by: Michael Ingley <mingley@linkedin.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the 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. ✨ Finishing touches🧪 Generate unit tests (beta)
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 |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
Signed-off-by: Michael Ingley <mingley@linkedin.com>
|
Addressed local review findings #2 and #3 in
Also added a dedicated "Follow-on PR Callout: Dependency Modernization" section to the PR description with major version gaps and rationale. |
Summary
This PR bumps the repo to Rust 1.93.0 and applies the minimal, behavior-preserving fixes required to keep strict linting clean.
Detailed, file-by-file changes:
Cargo.tomlrust-version = "1.93.0"under[package].rust-toolchain.toml1.84.1to1.93.0.rust-version.src/common/errors.rsError::GrpcAPIpayload fromtonic::StatustoBox<tonic::Status>.impl From<tonic::Status> for Errorthat boxes the status.clippy::result_large_errallowances while preserving existing conversion ergonomics for?.src/store/request.rs.map_err(Error::GrpcAPI)to.map_err(Error::from).GrpcAPIconstructor while keeping behavior unchanged.src/proto.rs#[allow(dead_code)]onmod protos.clippy::allnow flags many protobuf-generated wire types as dead code.src/pd/retry.rsmap(|resp| resp.stores.into_iter().map(Into::into).collect())tomap(|resp| resp.stores).src/transaction/requests.rsiter::repeat(...).take(len)withiter::repeat_n(..., len).self.keys = shard.into_iter().map(Into::into).collect();toself.keys = shard;..map(Into::into)when merging lock responses.manual_repeat_nanduseless_conversionlints without changing runtime behavior.src/transaction/transaction.rs.map(|r| r.into_iter().map(Into::into).collect())to.map(|r| r.into_iter().collect())in both affected execution paths.tests/integration_tests.rsiter::repeat(vec![]..).take(batch_num)withiter::repeat_n(vec![].., batch_num).manual_repeat_nlint in tests under stricter clippy.Testing Done
Executed locally on branch
mingley/bump-rust-version-1-93:make checkcargo run -p tikv-client-proto-buildcargo check --all --all-targets --features "integration-tests"cargo fmt -- --checkcargo clippy --all-targets --features "integration-tests" -- -D clippy::allcargo nextest run --config-file $(pwd)/config/nextest.toml --all --no-default-features53 passed, 0 skipped.Follow-on PR Callout: Dependency Modernization
This PR intentionally limits scope to toolchain + lint compatibility. A dedicated follow-on PR should upgrade stale dependencies in controlled waves.
Major gaps from
cargo +1.93.0 outdated -R --depth 1:tonic:0.10.2->0.14.3prost:0.12.6->0.14.3thiserror:1.0.69->2.0.18rand:0.8.5->0.9.2prometheus:0.13.4->0.14.0async-recursion:0.3.2->1.1.1clap 2.34.0 -> 4.5.57,env_logger 0.10.2 -> 0.11.8,proptest-derive 0.5.1 -> 0.8.0,rstest 0.18.2 -> 0.26.1,serial_test 0.5.1 -> 3.3.1,reqwest 0.11.27 -> 0.13.1Why this matters:
Recommended follow-on sequence:
tonic/prost) in isolation.thiserror,rand,async-recursion,prometheus).make check+nextestbefore moving forward.