Skip to content

Minimum Supported Rust Version (MSRV) Policy? #203

@madsmtm

Description

@madsmtm

This library should probably settle on some kind of MSRV policy, I would like some input on that?

A few options:

  • N-3
  • 6 months timeframe
  • 12 months timeframe
  • Pick a stable version, and then stay there until next major version. Allow feature flags to have higher MSRV.

Notes:

  • Does MSRV bump constitute a breaking change?
  • GCC Rust will support 1.40 to start with
  • mrustc supports 1.54 (as of july 2022)
  • We could have different policies for the different crates (e.g. objc-sys supports "N-10" while objc2 supports "N-3")
  • Downside is that features like extern "C-unwind" would take longer to make default
  • Distribution version (here supporting the "this package is possible with distribution-provided cargo/rustc"):
  • See libc discussion: MSRV policy for libc crate rust-lang/libs-team#72
  • See also winit discussion: Minimum Supported Rust Version rust-windowing/winit#1075
  • Given that this package is mostly used on macOS, where users will be getting the rustc using rustup or MacPorts, maybe the situation is a bit different?
    • Would work if we're using newer rustc features, doesn't if we're using newer cargo features
  • Our dependencies (cc, libc, malloc_buf and uuid) would have to have a policy that matches ours!

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions