apache / arrow-rs

Official Rust implementation of Apache Arrow
https://arrow.apache.org/
Apache License 2.0
2.62k stars 802 forks source link

Update MSRVs to be accurate #6742

Open itsjunetime opened 5 days ago

itsjunetime commented 5 days ago

Which issue does this PR close?

Closes #6741

What changes are included in this PR?

This changes MSRVs of a lot of crates in this repo to accurately reflect their actual MSRV, as they've fallen out of date.

There's an MSRV check in CI, but it currently only checks a few specific crates instead of all of them. It also doesn't have any way to tell if the workspace's rust-version field has fallen out of date due to all other crates in the workspace using a specifically different MSRV. This fixes both of those issues by checking every Cargo.toml that exists in this repo and also making sure at least one of them uses rust-version = { workspace = true }.

The MSRVs that these were changed to were all found by running cargo msrv find --manifest-path $cargo_toml_path for each Cargo.toml in the repo. If it failed due to a dependency that we could downgrade, I downgraded it as low as our Cargo.toml allowed it to go to see if that would allow us to get the MSRV lower.

Rationale for this change

The repo is easier to use and manage if this task is automated

Also, at time of writing, the arrow-flight/gen crate has a broken MSRV. This is to ensure the CI checks that I added actually work. I'll change it back once CI has verified it's bad.

Are there any user-facing changes?

No; these crates already wouldn't compile with their current (incorrect) MSRVs so we aren't affecting users at all with these changes.

itsjunetime commented 5 days ago

The MSRV check failed, and although the output was too long to see what exactly the error was, I'm going to update the purposefully-broken package's MSRV to see if things pass now.