Ancestors
Toot
Written by lambdageek on 2025-01-09 at 01:39
Why is MSRV a thing? What are the scenarios where someone might stay on an old toolchain and not bump to the latest stable rust? Naively I expected language editions to solve problems that would prevent always using the latest stable.
[#]rust #newbie #rustlang
=> More informations about this toot | More toots from lambdageek@mastodon.social
Descendants
Written by lambdageek on 2025-01-09 at 01:42
Is it for people on oddball tier2/3 targets that might not be working in every latest compiler version?
=> More informations about this toot | More toots from lambdageek@mastodon.social
Written by Ian Wagner on 2025-01-09 at 04:27
@lambdageek No, I use "oddball tier 2 targets" daily and have never had an issue. T2 just means "may break on a commit here or there" but they'd only ship a broken release in the rarest of circumstances. A few use cases...
- You use a package manager; good luck getting anything recent with most Linux distros.
- "Enterprise" / highly regulated scenarios where software has to get certified or something.
=> More informations about this toot | More toots from ianthetechie@fosstodon.org
Written by Ed Page on 2025-01-09 at 02:39
@lambdageek
- People using their Desktop Linux distribution Rust. For the most part, I view desktop distribution Rust as only for packages being built for that distribution but a casual Python user who needs Rust to build a source package is likely to naively use the distribution version.
- People deploying applications with an Embedded Linux where upgrading to newer dependencies is easier than upgrading the base image of the distribution
- Companies with tight requirements and data integrity that need to do expensive re-validation of compilers before upgrading and/or there are specific points in the year where they can take on the risks of an upgrade
- A casual programmer who is only using Rust every couple of months and either doesn't know a new release is out or doesn't want to wait for
rustup update
every time they touch Rust.
- A project that is using a lot of nightly features and there is a cost to migrate to the latest versions of those nightly features.
Not all of these cases requires packages to support the latest features on an old MSRV but are reasons for tracking a package's MSRV and for Cargo to help select package versions with a compatible MSRV.
btw we have a document to help people in selecting an MSRV: https://doc.rust-lang.org/nightly/cargo/reference/rust-version.html#setting-and-updating-rust-version
=> More informations about this toot | More toots from epage@hachyderm.io
Written by Ed Page on 2025-01-09 at 14:01
@lambdageek btw one of the unimplemented features from the MSRV resolver RFC is the ability to say package.rust--version = "current"
so MSRVs can be set in more cases with little to no extra process.
=> More informations about this toot | More toots from epage@hachyderm.io
Written by guenther on 2025-01-09 at 07:26
@lambdageek
- stuff sometimes actually breaks between versions
- pinning a version prevents you from getting accidental breakage/regressions at random times
- some of our machines are deployed in areas with awful internet connection, so sending software updates as a source diff and recompiling them is faster than pushing binaries, but that includes downloading new compilers.
- support for old platforms where the compiler's kernel/libc requirements have increased since
=> More informations about this toot | More toots from guenther@chaos.social
Proxy Information
- Original URL
- gemini://mastogem.picasoft.net/thread/113795843733296230
- Status Code
- Success (20)
- Meta
text/gemini
- Capsule Response Time
- 277.272736 milliseconds
- Gemini-to-HTML Time
- 1.891413 milliseconds
This content has been proxied by September (ba2dc).