rust-for-linux.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/13] Support several Rust toolchain versions
@ 2024-07-01 18:36 Miguel Ojeda
  2024-07-01 18:36 ` [PATCH 01/13] rust: macros: indent list item in `paste!`'s docs Miguel Ojeda
                   ` (13 more replies)
  0 siblings, 14 replies; 40+ messages in thread
From: Miguel Ojeda @ 2024-07-01 18:36 UTC (permalink / raw)
  To: Miguel Ojeda, Wedson Almeida Filho, Alex Gaynor
  Cc: Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
	Andreas Hindborg, Alice Ryhl, rust-for-linux, linux-kernel,
	patches

Hi all,

It is time to start supporting several Rust toolchain versions and thus
establish a minimum Rust compiler and `bindgen` version.

For the Rust compiler, we will start with a window of two stable
releases, and widen it over time. This series keeps the minimum where
it is (1.78.0), but 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. A documentation adds the instructions for each of them.

In addition, Rust for Linux is now being built-tested in Rust's
pre-merge CI. 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.

Similarly, we kept the minimum as it is for `bindgen`. `bindgen` is also
adding the kernel to its CI -- thanks!

Cheers,
Miguel


Miguel Ojeda (13):
  rust: macros: indent list item in `paste!`'s docs
  rust: init: simplify from `map_err` to `inspect_err`
  rust: allow `dead_code` for never constructed bindings
  rust: relax most deny-level lints to warnings
  rust: simplify Clippy warning flags set
  rust: start supporting several compiler versions
  rust: warn about `bindgen` versions 0.66.0 and 0.66.1
  rust: work around `bindgen` 0.69.0 issue
  rust: avoid assuming a particular `bindgen` build
  rust: start supporting several `bindgen` versions
  kbuild: rust: add `rustc-version` support
  rust: support the new `-Zub-checks` flag
  docs: rust: quick-start: add section on Linux distributions

 Documentation/process/changes.rst  |   9 +--
 Documentation/rust/quick-start.rst | 118 +++++++++++++++++++++++------
 Makefile                           |  29 +++----
 init/Kconfig                       |  11 ++-
 lib/Kconfig.debug                  |  18 +++++
 rust/Makefile                      |   4 +-
 rust/bindings/lib.rs               |   1 +
 rust/kernel/init.rs                |  12 +--
 rust/macros/lib.rs                 |   2 +-
 rust/uapi/lib.rs                   |   1 +
 scripts/Kconfig.include            |   6 ++
 scripts/Makefile.compiler          |   4 +
 scripts/rust_is_available.sh       |  20 ++---
 scripts/rust_is_available_test.py  |  40 +++++-----
 scripts/rustc-version.sh           |  52 +++++++++++++
 15 files changed, 238 insertions(+), 89 deletions(-)
 create mode 100755 scripts/rustc-version.sh


base-commit: f2661062f16b2de5d7b6a5c42a9a5c96326b8454
-- 
2.45.2


^ permalink raw reply	[flat|nested] 40+ messages in thread

end of thread, other threads:[~2024-07-05 13:46 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-01 18:36 [PATCH 00/13] Support several Rust toolchain versions Miguel Ojeda
2024-07-01 18:36 ` [PATCH 01/13] rust: macros: indent list item in `paste!`'s docs Miguel Ojeda
2024-07-01 19:59   ` Björn Roy Baron
2024-07-04 14:25   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 02/13] rust: init: simplify from `map_err` to `inspect_err` Miguel Ojeda
2024-07-01 20:05   ` Björn Roy Baron
2024-07-01 21:58     ` Miguel Ojeda
2024-07-02  6:28       ` Benno Lossin
2024-07-02 12:27       ` Alice Ryhl
2024-07-01 18:36 ` [PATCH 03/13] rust: allow `dead_code` for never constructed bindings Miguel Ojeda
2024-07-01 20:06   ` Björn Roy Baron
2024-07-04 14:30   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 04/13] rust: relax most deny-level lints to warnings Miguel Ojeda
2024-07-01 19:48   ` Björn Roy Baron
2024-07-01 21:58     ` Miguel Ojeda
2024-07-04 14:34   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 05/13] rust: simplify Clippy warning flags set Miguel Ojeda
2024-07-04 14:37   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 06/13] rust: start supporting several compiler versions Miguel Ojeda
     [not found]   ` <70F3F3DD-AAE6-445A-AC16-C71A06C4EA06@kloenk.dev>
2024-07-04 15:26     ` Miguel Ojeda
2024-07-01 18:36 ` [PATCH 07/13] rust: warn about `bindgen` versions 0.66.0 and 0.66.1 Miguel Ojeda
2024-07-04 14:47   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 08/13] rust: work around `bindgen` 0.69.0 issue Miguel Ojeda
2024-07-04 14:51   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 09/13] rust: avoid assuming a particular `bindgen` build Miguel Ojeda
2024-07-01 18:36 ` [PATCH 10/13] rust: start supporting several `bindgen` versions Miguel Ojeda
2024-07-01 18:36 ` [PATCH 11/13] kbuild: rust: add `rustc-version` support Miguel Ojeda
2024-07-04 15:05   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 12/13] rust: support the new `-Zub-checks` flag Miguel Ojeda
2024-07-04 15:07   ` Finn Behrens
2024-07-01 18:36 ` [PATCH 13/13] docs: rust: quick-start: add section on Linux distributions Miguel Ojeda
2024-07-05  6:19   ` Andrea Righi
2024-07-05  6:46     ` Fabian Grünbichler
2024-07-05 12:52       ` Miguel Ojeda
2024-07-05 13:09         ` Fabian Grünbichler
2024-07-05 13:46           ` Miguel Ojeda
2024-07-05 10:50     ` Miguel Ojeda
2024-07-05 12:59       ` Andrea Righi
2024-07-02  6:25 ` [PATCH 00/13] Support several Rust toolchain versions Benno Lossin
2024-07-02  9:41   ` Miguel Ojeda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).