linux-next/Documentation/process
Miguel Ojeda 63b27f4a00 rust: start supporting several compiler versions
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: Finn Behrens <me@kloenk.dev>
Tested-by: Benno Lossin <benno.lossin@proton.me>
Tested-by: Andreas Hindborg <a.hindborg@samsung.com>
Link: https://lore.kernel.org/r/20240709160615.998336-7-ojeda@kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-07-10 10:28:52 +02:00
..
1.Intro.rst doc:it_IT: add some process/* translations 2018-11-20 09:11:12 -07:00
2.Process.rst docs: process: fix a typoed cross-reference 2023-05-20 08:07:04 -06:00
3.Early-stage.rst Documentation/process: use scripts/get_maintainer.pl on patches 2022-05-09 16:12:16 -06:00
4.Coding.rst Add .editorconfig file for basic formatting 2023-12-28 16:22:47 +09:00
5.Posting.rst docs: process: allow Closes tags with links 2023-04-18 16:39:31 -07:00
6.Followthrough.rst docs: remove the tips on how to submit patches from MAINTAINERS 2023-07-03 08:35:23 -06:00
7.AdvancedTopics.rst docs: try to encourage (netdev?) reviewers 2023-10-15 14:26:51 +01:00
8.Conclusion.rst docs: process: remove outdated submitting-drivers.rst 2022-07-14 15:03:57 -06:00
adding-syscalls.rst docs: Make syscalls' helpers naming consistent 2021-02-04 14:47:24 -07:00
applying-patches.rst Documentation: describe how to apply incremental stable patches 2022-03-09 16:29:44 -07:00
backporting.rst docs: backporting: address feedback 2023-10-26 11:49:16 -06:00
botching-up-ioctls.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
changes.rst rust: start supporting several compiler versions 2024-07-10 10:28:52 +02:00
clang-format.rst Documentation: fix typos found in process, dev-tools, and doc-guide subdirectories 2020-12-03 15:55:04 -07:00
code-of-conduct-interpretation.rst docs: update mediator contact information in CoC doc 2022-11-10 18:45:11 +01:00
code-of-conduct.rst Code of Conduct: Change the contact email address 2018-10-22 07:33:36 +01:00
coding-style.rst Documentation: coding-style: ask function-like macros to evaluate parameters 2024-05-11 15:51:44 -07:00
contribution-maturity-model.rst Documentation/process: Add Linux Kernel Contribution Maturity Model 2023-03-14 12:22:59 -06:00
cve.rst Documentation: Document the Linux Kernel CVE process 2024-02-17 14:46:39 +01:00
deprecated.rst docs: deprecated.rst: Update an example 2023-07-14 13:36:31 -06:00
development-process.rst docs: use toctree :caption: and move introduction 2023-11-17 13:05:26 -07:00
email-clients.rst Documentation: process: Document suitability of Proton Mail for kernel development 2023-01-13 09:26:19 -07:00
embargoed-hardware-issues.rst Documentation: embargoed-hardware-issues.rst: Add myself for Power 2024-04-11 15:21:18 +02:00
handling-regressions.rst docs: *-regressions.rst: unify quoting, add missing word 2024-04-10 15:01:32 -06:00
howto.rst Documentation: multiple .rst files: Fix grammar and more consistent formatting 2024-02-05 10:24:54 -07:00
index.rst Documentation: Document the Linux Kernel CVE process 2024-02-17 14:46:39 +01:00
kernel-docs.rst Documentation: Fix typos 2023-08-18 11:29:03 -06:00
kernel-driver-statement.rst doc:it_IT: add some process/* translations 2018-11-20 09:11:12 -07:00
kernel-enforcement-statement.rst Documentation: drop optional BOMs 2021-05-10 15:17:34 -06:00
license-rules.rst LICENSES: Rename other to deprecated 2019-05-03 06:34:32 -06:00
magic-number.rst char: pcmcia: remove all the drivers 2023-03-09 17:30:27 +01:00
maintainer-handbooks.rst Documentation/process: maintainer-soc: add clean platforms profile 2023-08-12 14:04:51 +02:00
maintainer-kvm-x86.rst Documentation/process: Add a maintainer handbook for KVM x86 2023-06-22 14:25:38 -07:00
maintainer-netdev.rst docs: netdev: Fix typo in Signed-off-by tag 2024-05-27 17:15:22 -07:00
maintainer-pgp-guide.rst docs: maintainer-pgp-guide: update for latest gnupg defaults 2023-01-02 16:37:18 -07:00
maintainer-soc-clean-dts.rst Documentation/process: maintainer-soc: add clean platforms profile 2023-08-12 14:04:51 +02:00
maintainer-soc.rst Documentation/process: maintainer-soc: document dtbs_check requirement for Samsung 2023-08-12 14:05:34 +02:00
maintainer-tip.rst Documentation/maintainer-tip: Clarify merge window policy 2024-04-02 09:40:23 -07:00
maintainers.rst doc-rst: Programmatically render MAINTAINERS into ReST 2019-10-02 10:03:17 -06:00
management-style.rst Documentation: management-style: Fix formatting of emphsized word 2020-03-10 11:32:34 -06:00
programming-language.rst docs: programming-language: add Rust programming language section 2023-03-07 10:24:40 -07:00
researcher-guidelines.rst Documentation: update mailing list addresses 2024-02-21 13:44:21 -07:00
security-bugs.rst Documentation: Document the Linux Kernel CVE process 2024-02-17 14:46:39 +01:00
stable-api-nonsense.rst doc: process: GPL -> GPL-compatible 2019-02-01 16:19:11 -07:00
stable-kernel-rules.rst docs: stable-kernel-rules: fix typo sent->send 2024-05-02 10:20:27 -06:00
submit-checklist.rst docs: submit-checklist: use subheadings 2024-03-03 08:41:33 -07:00
submitting-patches.rst docs: submitting-patches: improve the base commit explanation 2023-11-27 11:00:16 -07:00
volatile-considered-harmful.rst Replace HTTP links with HTTPS ones: documentation 2020-06-08 09:30:19 -06:00