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.