Skip to content

Instantly share code, notes, and snippets.

@alexheretic
Last active March 28, 2023 17:13
Show Gist options
  • Save alexheretic/d1e98d8433b602e57f5d0a9637927e0c to your computer and use it in GitHub Desktop.
Save alexheretic/d1e98d8433b602e57f5d0a9637927e0c to your computer and use it in GitHub Desktop.
Latest stable rust as a MSRV policy

Latest stable rust as a minimum

Minimum supported rust version (MSRV) policy that indicates the most recent stable rust release is the minimum whenever a new crate version is published. It is not required to bump a crate's major version after a new stable compiler is released.

For example crate_foo version 0.1.2 published on 2018-12-28 has MSRV 1.31.1 as this compiler was published on 2018-12-20.

The advantages of this approach is simplicity in maintaining a crate's code.

Workarounds for older compiler versions

If you are unable to update your compiler, you may be unable to update crate dependencies following this policy.

Dependencies can be pinned to a version as old as your compiler, e.g. =0.1.2. Lockfiles may be updated with cargo update -p crate_foo --precise 0.1.2 where version 0.1.2 is old enough to ensure compatibility.

Related discussions/prs

Hopefully better tools to deal with MSRV will become available, as there is not general agreement about how handle this issue currently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment