Dependence on the nightly channel has been one of the biggest risks in
Rust. The problem is not solved yet, but it will be. The Rust stable /
nightly split is disimilar to the Python 2 / 3 transition in
important ways. The notion that 'nightly Rust is the only Rust' is
premature, and Rustaceans should be cautious about
encouraging that notion.<p>It's undeniable that there is a significant amount of Rust software
still reliant on unstable features, but I have not seen any numbers
that would put it in perspective. Having consistent measurements of
nightly vs stable adoption would help a lot, inform any conversation,
and efforts to move off nightly.<p>So I think it's premature to say that 'nightly Rust is the only Rust',
The article suggests that people are using nightly as the de-facto
recommended toolchain, without evidence (though I'm sure somebody has
recommended nightly be default). I'd encourage people not to
recommend nightly and for Rust library developers to aim for their
crates to be compatible with stable. I personally don't have the same
sense as the author that Rust application or library developers are
using nightly more than they have in the past. Rather I know that
developers of key nightly-only libraries are actively involved in
ecosystem migration off of nightly.<p>One of the biggest difference between the 2 / 3 split is that stable
is generally compatible with nightly, and is intended to catch up with
nightly, whereas Python 2 is not such a strict subset of
Python 3 and its development is done.
That is, nightly is intended to be a staging ground for stable;
Python 3 does not have that same relationship to Python 2.<p>(Edit: I stated this awkwardly. In this comparison nightly=Python 2, stable=Python 3. The point stands that
the relationships between the two branches are different
between the two languages. Nightly development feeds into Stable, Python 2 doesn't feed into Python 3, it is not under active development.)<p>Because of this relationship there's still reason to have confidence
this dependency on nightly will shrink over time. But not disappear.
We would always expect some people to depend on nightly. That is
its intended purpose - as a breeding ground for future features.<p>Some of the biggest features keeping people off stable Rust
are coming, and their biggest users are actively migrating. In the
near future there will be fewer reasons to use nightly, not more. And
beyond that the reasons to stick to nightly will evolve as Rust
evolves. The next demographic of users who will be stuck on nightly
will be embedded developers, and that contingent will increase over
time. But even as that group increases, the group that is freed up to
use stable Rust will grow also. And slowly the stable ecosystem
will coalesce for all classes of users and all types of code.<p>Though I don't believe it's happening to the extent the author does,
I'd rather not see Rustaceans who care about Rust's future to adopt a
nighly-first mindset. More things will get more stable, faster, by
working together. But regardless of people's dispositions to the
stable / nightly split, more of the ecosystem is going to work on
stable over time - that is how the Rust feature pipeline works -
and eventually stable Rust will be the only Rust.<p>I still expect it to all work out ok.