rust-sel4 icon indicating copy to clipboard operation
rust-sel4 copied to clipboard

Consider tracking `stable` instead of `nightly`

Open nspin opened this issue 1 year ago • 3 comments

This would make it easier to wrangle the use of unstable features throughout the codebase, but would require downstream users to set RUSTC_BOOTSTRAP, which is frowned upon by the Rust core team.

nspin avatar Oct 31 '24 13:10 nspin

What is the chance of being able to use the stable Rust toolchain instead of the nightly?

When integrating the capDL initialiser from rust-sel4 in Microkit the build process becomes a lot more complicated due to the use of the nightly toolchain, unfortunately the user-experience of cargo/rustup is poor for non-stable toolchains.

For at least the capDL initialiser, what are the nightly features used that are required?

Ivan-Velickovic avatar Oct 22 '25 03:10 Ivan-Velickovic

Implementing a Rust language runtime, which the CapDL initializer requires (even in its simplest configuration), necessarily entails the use of unstable Rust features.

For example, #![feature(lang_items)] is required for setting a panic handler.

The RUSTC_BOOTSTRAP=1 trick should allow the Microkit SDK build to use a stable compiler, though.

nspin avatar Oct 22 '25 07:10 nspin

The RUSTC_BOOTSTRAP=1 trick should allow the Microkit SDK build to use a stable compiler, though.

Ah I thought that would build the nightly compiler from source or something but reading the docs that does not seem to be the case.

Will try that out, thanks.

Ivan-Velickovic avatar Oct 22 '25 07:10 Ivan-Velickovic