Skip to content

msrv of cargo-util-schemas is higher than necessary (clap-cargo -> cargo_metadata -> cargo-util-schema) #15746

@joshka

Description

@joshka

Problem

The rust-version of cargo-util-schema was bumped automatically, which affects the msrv of packages that transitively use this. This compiles fine using rust 1.85 (minimum required for edition 2024)

Dependency chain:

  • We use clap-cargo in ratatui for an xtask project
  • clap-cargo bumped to 1.86 recently because cargo_metadata bumped
  • cargo_metadata bumped because cargo-util-schemas bumped

I'm assuming this will probably repeat next week when the renovate / dependabot changes roll through the system for the 1.88 changes.

This seems like it will cause difficulties in our xtask project which should be able to build against the actual msrv of our project, not that of the xtask deps.

Steps

No response

Possible Solution(s)

It's possible that this is one of those crates where it actually has to match the rust compiler version to work, but if not, it would be probably a good idea to downgrade rust-version on cargo-utils-schema to the actual msrv rather than updating this crate's rust-version in line with the cargo version.

It's possible that one of the earlier libraries shouldn't have bumped, but this is the root of the bump chain.

Pinging @oli-obk and @epage for their input on this as owners of the other crates.
I'm happy to raise issues in the other repos if it makes it easier to capture the pain points there instead of here), but would suggest that we start here with this one and move discussion as necessary.

Notes

There may be similar issues with other crates. I have not checked.

❯ gd                  
diff --git i/crates/cargo-util-schemas/Cargo.toml w/crates/cargo-util-schemas/Cargo.toml
index 2682b65e1..2de531584 100644
--- i/crates/cargo-util-schemas/Cargo.toml
+++ w/crates/cargo-util-schemas/Cargo.toml
@@ -1,7 +1,7 @@
 [package]
 name = "cargo-util-schemas"
 version = "0.10.0"
-rust-version = "1.88"  # MSRV:1
+rust-version = "1.85"                             # MSRV:1
 edition.workspace = true
 license.workspace = true
 homepage.workspace = true
❯ cargo msrv find --min 1.85                       
  [Meta]   cargo-msrv 0.18.4  

Compatibility Check #1: Rust 1.87.0
  [OK]     Is compatible 

Compatibility Check #2: Rust 1.86.0
  [OK]     Is compatible 

Compatibility Check #3: Rust 1.85.1
  [OK]     Is compatible 

Result:
   Considered (min … max):   Rust 1.85 … Rust 1.88.0 
   Search method:            bisect                  
   MSRV:                     1.85.1                  
   Target:                   aarch64-apple-darwin    

Version


Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: bugS-triageStatus: This issue is waiting on initial triage.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions