But why
But why
Posted Oct 1, 2024 23:05 UTC (Tue) by josh (subscriber, #17465)In reply to: But why by sam_c
Parent article: An update on gccrs development
The ecosystem largely *doesn't* chase nightly. Some crates use nightly to test or demonstrate new features; the vast majority of the ecosystem uses stable.
And, empirically, there are plenty of people seeing it as a stable, mature language *now*.
There's ongoing work to help people who are stuck on old compiler versions, by helping them run correspondingly older versions of crates. But in general, distributions that are snapshotting old versions of Rust and not updating them should also be snapshotting old versions of crates that work with that old version of Rust. Nonetheless, we're adding some support for people who don't do so.
Posted Oct 1, 2024 23:14 UTC (Tue)
by sam_c (subscriber, #139836)
[Link] (6 responses)
Okay, but there's enough people who do that it becomes problematic for people shipping Rust applications. It doesn't really matter to me if most of them are fine if there's a substantial minority which aren't and it seems like it's accepted in the ecosystem.
On the other hand, it is very rare for us to come across software which needs e.g. bleeding edge GCC or Clang (both as an individual and even more so at scale).
It is *not* uncommon for us to find a package is relying on crates from a git repo (not even releases) and also using unstable features. I wish that weren't the case, I hope it will stop being the case, but it does happen to us a lot. I believe you of course that many aren't like that, but it doesn't change that there's a substantial chunk which are?
Posted Oct 2, 2024 9:59 UTC (Wed)
by farnz (subscriber, #17727)
[Link] (5 responses)
Your experience doesn't match mine; the only Rust code I have on my system (despite having several Rust applications compiled from source on here) that requires nightly is a toy OS kernel I'm writing for the fun of it. Everything else I use is compiled with a stable compiler - including everything my employer's code depends upon.
What packages are you seeing that depend on unstable features and/or a nightly compiler?
Posted Oct 4, 2024 3:31 UTC (Fri)
by sam_c (subscriber, #139836)
[Link] (4 responses)
Posted Oct 4, 2024 4:07 UTC (Fri)
by sam_c (subscriber, #139836)
[Link]
Posted Oct 4, 2024 8:57 UTC (Fri)
by farnz (subscriber, #17727)
[Link] (2 responses)
I've never had much luck building any browser from source without severe pain, going right back to the days of the Mozilla suite (before Firefox existed), so I can well believe that browsers are a complete pain. Back in the day, the trouble I kept hitting with browsers was that they depended on patched versions of bleeding edge libraries, often built with very specific C++ compiler versions otherwise they wouldn't work, and I can easily believe that that attitude has carried on into their forays with Rust.
But two browser projects is not a significant chunk of the Rust ecosystem; would you accept me dismissing C++ as a language because you can't compile anything with less than 16 GiB RAM + swap (the current minimum for Firefox and Chromium)?
Posted Oct 4, 2024 19:36 UTC (Fri)
by sam_c (subscriber, #139836)
[Link] (1 responses)
But no, we're all used to C++. We're not used to Rust. Perceptions and getting familiar with something new does matter? Especially with the background I mentioned.
Posted Oct 5, 2024 13:13 UTC (Sat)
by farnz (subscriber, #17727)
[Link]
The thing I was calling you out on was the claim that the Rust ecosystem as a whole (ripgrep, alacritty, deno, mdbook, wasmer, wezterm, ruffle, atuin, librsvg and others) require nightly; I'm only aware of three projects in the ecosystem that do - the two big browsers, and Rust for Linux.
But why
Rust applications that require nightly
Rust applications that require nightly
Rust applications that require nightly
Rust applications that require nightly
Rust applications that require nightly
Rust applications that require nightly