Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danielhenrymantilla/8e5b721b3929084562f8f65668920c33 to your computer and use it in GitHub Desktop.
Save danielhenrymantilla/8e5b721b3929084562f8f65668920c33 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