Skip to content

Please lower the MSRV #3267

Closed
Closed
@djc

Description

@djc

Maintainer's notes

Disposition comment

How about we give this a trial. If a contributor is willing to step in and create PRs to make all of the dependencies work on the proposed MSRV and they get accepted by the maintainers, we can provisionally (and unofficially) lower the MSRV. After a period of time (6 months?), we can re-evaluate and possibly adjust the MSRV policy. If there are problems with the provisional MSRV, we reserve the right to revert it, even in a patch release (hence the unofficial designation). Depending on what happened, a contributor can step in to help lower it again and we can consider trying this again.

To clarify, yes, we can check this unofficial, provisional MSRV in CI

Please complete the following tasks

  • I have searched the discussions
  • I have searched the existing issues

Clap Version

3.0.5

Describe your use case

Currently I'd like to use clap (with derive) in the example code for the rustls-mio crate. However, the rustls repo currently has CI set to a 1.52.1 MSRV (and realistically I'd prefer to stick with 1.51 or even 1.50).

Describe the solution you'd like

I'd like the MSRV to be ideally no younger than 1.50. 1.51 would also be okay, maybe 1.52.

Alternatives, if applicable

No response

Additional Context

So far I found the #![doc = include_str!()] usage in clap_derive and the use of os_str_bytes which currently requires 1.52 (but apparently only because it wants to support some lint, which seems like a pretty bad reason). I'm not sure how important os_str_bytes is to this crate's mechanics; maybe relying on the platform-specific OsStrExt implementations could go a long way?

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-metaArea: administrative question or tracking issueC-enhancementCategory: Raise on the bar on expectationsE-help-wantedCall for participation: Help is requested to fix this issue.E-mediumCall for participation: Experience needed to fix: Medium / intermediate

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions