• Miguel Ojeda's avatar
    rust: start supporting several compiler versions · 63b27f4a
    Miguel Ojeda authored
    It is time to start supporting several Rust compiler versions and thus
    establish a minimum Rust version.
    
    We may still want to upgrade the minimum sometimes in the beginning since
    there may be important features coming into the language that improve
    how we write code (e.g. field projections), which may or may not make
    sense to support conditionally.
    
    We will start with a window of two stable releases, and widen it over
    time. Thus this patch does not move the current minimum (1.78.0), but
    instead adds support for the recently released 1.79.0.
    
    This should already be enough for kernel developers in distributions that
    provide recent Rust compiler versions routinely, such as Arch Linux,
    Debian Unstable (outside the freeze period), Fedora Linux, Gentoo
    Linux (especially the testing channel), Nix (unstable) and openSUSE
    Tumbleweed. See the documentation patch about it later in this series.
    
    In addition, Rust for Linux is now being built-tested in Rust's pre-merge
    CI [1]. That is, every change that is attempting to land into the Rust
    compiler is tested against the kernel, and it is merged only if it passes
    -- thanks to the Rust project for that!
    
    Thus, with the pre-merge CI in place, both projects hope to avoid
    unintentional changes to Rust that break the kernel. This means that,
    in general, apart from intentional changes on their side (that we will
    need to workaround conditionally on our side), the upcoming Rust compiler
    versions should generally work.
    
    For instance, currently, the beta (1.80.0) and nightly (1.81.0) branches
    work as well.
    
    Of course, the Rust for Linux CI job in the Rust toolchain may still need
    to be temporarily disabled for different reasons, but the intention is
    to help bring Rust for Linux into stable Rust.
    
    Link: https://github.com/rust-lang/rust/pull/125209 [1]
    Reviewed-by: default avatarFinn Behrens <me@kloenk.dev>
    Tested-by: default avatarBenno Lossin <benno.lossin@proton.me>
    Tested-by: default avatarAndreas Hindborg <a.hindborg@samsung.com>
    Link: https://lore.kernel.org/r/20240709160615.998336-7-ojeda@kernel.orgSigned-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
    63b27f4a
rust_is_available.sh 8.92 KB