New release train request: Unstable


#1

Right now, if a Rust user wants to use unstable features, the only option is the Nightly binary. This has a fairly significant downside in that it’s regularly updated, so it’s hard to keep track of exactly what one you’re doing, and you need to handle distributing it yourself.

What I’d like to see is a release that’s on the same 6-week train as the beta/stable releases, but with unstable features activated. I realize that the Rust team is working hard on delivering stability, and I value that work a lot, but it’s not done yet, and in particular cross-compiling and embedded dev with a customized libstd is still infeasible on a stable compiler.

I think this strikes a reasonable balance of usability (with versioned, timed releases on the trains), with the needs of users of unstable features, for minimal overhead on the part of the development team. I worry people will feel this is undermining the efforts to stabilize rust, but I see it as a strict improvement over having folk using nightlies.

In my ideal world, we’d also use this as the stage0 compiler, instead of snapshots. That way, Linux distributions have a fixed bootstrap path from two releases. Looking at the git log for src/snapshots.txt, we’re not snapshotting that often anymore, so this feels like a reasonable course of action to me – but I don’t work on rustc much / at all, so I don’t know the feasibility of that.


#2

Using multirust, you set an override per project, specifying an exact nightly to be used, and only update that override when you want. If you need to share that project, you can also share the name of the nightly. Example usage:

~/code/hyper> multirust override nightly-2015-09-01