public inbox for linux-doc@vger.kernel.org
 help / color / mirror / Atom feed
From: Miguel Ojeda <ojeda@kernel.org>
To: "Miguel Ojeda" <ojeda@kernel.org>,
	"Nathan Chancellor" <nathan@kernel.org>,
	"Nicolas Schier" <nsc@kernel.org>,
	"Danilo Krummrich" <dakr@kernel.org>,
	"Andreas Hindborg" <a.hindborg@kernel.org>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"Will Deacon" <will@kernel.org>, "Paul Walmsley" <pjw@kernel.org>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Albert Ou" <aou@eecs.berkeley.edu>,
	"Alexandre Courbot" <acourbot@nvidia.com>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	"Brendan Higgins" <brendan.higgins@linux.dev>,
	"David Gow" <david@davidgow.net>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Arve Hjønnevåg" <arve@android.com>,
	"Todd Kjos" <tkjos@android.com>,
	"Christian Brauner" <christian@brauner.io>,
	"Carlos Llamas" <cmllamas@google.com>,
	"Alice Ryhl" <aliceryhl@google.com>,
	"Jonathan Corbet" <corbet@lwn.net>
Cc: "Boqun Feng" <boqun@kernel.org>, "Gary Guo" <gary@garyguo.net>,
	"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
	"Benno Lossin" <lossin@kernel.org>,
	"Trevor Gross" <tmgross@umich.edu>,
	rust-for-linux@vger.kernel.org, linux-kbuild@vger.kernel.org,
	"Lorenzo Stoakes" <lorenzo.stoakes@oracle.com>,
	"Vlastimil Babka" <vbabka@kernel.org>,
	"Liam R . Howlett" <Liam.Howlett@oracle.com>,
	"Uladzislau Rezki" <urezki@gmail.com>,
	linux-block@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org (moderated for
	non-subscribers), "Alexandre Ghiti" <alex@ghiti.fr>,
	linux-riscv@lists.infradead.org, nouveau@lists.freedesktop.org,
	dri-devel@lists.freedesktop.org, "Rae Moar" <raemoar63@gmail.com>,
	linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com,
	"Nick Desaulniers" <nick.desaulniers+lkml@gmail.com>,
	"Bill Wendling" <morbo@google.com>,
	"Justin Stitt" <justinstitt@google.com>,
	llvm@lists.linux.dev, linux-kernel@vger.kernel.org,
	"Shuah Khan" <skhan@linuxfoundation.org>,
	linux-doc@vger.kernel.org, "Tamir Duberstein" <tamird@kernel.org>
Subject: [PATCH v2 09/33] rust: remove `RUSTC_HAS_SLICE_AS_FLATTENED` and simplify code
Date: Mon,  6 Apr 2026 01:52:45 +0200	[thread overview]
Message-ID: <20260405235309.418950-10-ojeda@kernel.org> (raw)
In-Reply-To: <20260405235309.418950-1-ojeda@kernel.org>

With the Rust version bump in place, the `RUSTC_HAS_SLICE_AS_FLATTENED`
Kconfig (automatic) option is always true.

Thus remove the option and simplify the code.

In particular, this includes removing the `slice` module which contained
the temporary slice helpers, i.e. the `AsFlattened` extension trait and
its `impl`s.

Reviewed-by: Tamir Duberstein <tamird@kernel.org>
Reviewed-by: Gary Guo <gary@garyguo.net>
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
---
 init/Kconfig           |  3 ---
 rust/kernel/lib.rs     |  1 -
 rust/kernel/prelude.rs |  3 ---
 rust/kernel/slice.rs   | 49 ------------------------------------------
 4 files changed, 56 deletions(-)
 delete mode 100644 rust/kernel/slice.rs

diff --git a/init/Kconfig b/init/Kconfig
index b8a1ab0d49d4..c38f49228157 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -178,9 +178,6 @@ config LD_CAN_USE_KEEP_IN_OVERLAY
 	# https://github.com/llvm/llvm-project/pull/130661
 	def_bool LD_IS_BFD || LLD_VERSION >= 210000
 
-config RUSTC_HAS_SLICE_AS_FLATTENED
-	def_bool RUSTC_VERSION >= 108000
-
 config RUSTC_HAS_COERCE_POINTEE
 	def_bool RUSTC_VERSION >= 108400
 
diff --git a/rust/kernel/lib.rs b/rust/kernel/lib.rs
index 138d846f798d..621cae75030c 100644
--- a/rust/kernel/lib.rs
+++ b/rust/kernel/lib.rs
@@ -140,7 +140,6 @@
 pub mod security;
 pub mod seq_file;
 pub mod sizes;
-pub mod slice;
 #[cfg(CONFIG_SOC_BUS)]
 pub mod soc;
 #[doc(hidden)]
diff --git a/rust/kernel/prelude.rs b/rust/kernel/prelude.rs
index e9d37f307f2a..44edf72a4a24 100644
--- a/rust/kernel/prelude.rs
+++ b/rust/kernel/prelude.rs
@@ -107,6 +107,3 @@
 // `super::std_vendor` is hidden, which makes the macro inline for some reason.
 #[doc(no_inline)]
 pub use super::dbg;
-
-#[cfg(not(CONFIG_RUSTC_HAS_SLICE_AS_FLATTENED))]
-pub use super::slice::AsFlattened;
diff --git a/rust/kernel/slice.rs b/rust/kernel/slice.rs
deleted file mode 100644
index ca2cde135061..000000000000
--- a/rust/kernel/slice.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-
-//! Additional (and temporary) slice helpers.
-
-/// Extension trait providing a portable version of [`as_flattened`] and
-/// [`as_flattened_mut`].
-///
-/// In Rust 1.80, the previously unstable `slice::flatten` family of methods
-/// have been stabilized and renamed from `flatten` to `as_flattened`.
-///
-/// This creates an issue for as long as the MSRV is < 1.80, as the same functionality is provided
-/// by different methods depending on the compiler version.
-///
-/// This extension trait solves this by abstracting `as_flatten` and calling the correct method
-/// depending on the Rust version.
-///
-/// This trait can be removed once the MSRV passes 1.80.
-///
-/// [`as_flattened`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_flattened
-/// [`as_flattened_mut`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_flattened_mut
-#[cfg(not(CONFIG_RUSTC_HAS_SLICE_AS_FLATTENED))]
-pub trait AsFlattened<T> {
-    /// Takes a `&[[T; N]]` and flattens it to a `&[T]`.
-    ///
-    /// This is an portable layer on top of [`as_flattened`]; see its documentation for details.
-    ///
-    /// [`as_flattened`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_flattened
-    fn as_flattened(&self) -> &[T];
-
-    /// Takes a `&mut [[T; N]]` and flattens it to a `&mut [T]`.
-    ///
-    /// This is an portable layer on top of [`as_flattened_mut`]; see its documentation for details.
-    ///
-    /// [`as_flattened_mut`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_flattened_mut
-    fn as_flattened_mut(&mut self) -> &mut [T];
-}
-
-#[cfg(not(CONFIG_RUSTC_HAS_SLICE_AS_FLATTENED))]
-impl<T, const N: usize> AsFlattened<T> for [[T; N]] {
-    #[allow(clippy::incompatible_msrv)]
-    fn as_flattened(&self) -> &[T] {
-        self.flatten()
-    }
-
-    #[allow(clippy::incompatible_msrv)]
-    fn as_flattened_mut(&mut self) -> &mut [T] {
-        self.flatten_mut()
-    }
-}
-- 
2.53.0


  parent reply	other threads:[~2026-04-05 23:55 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-05 23:52 [PATCH v2 00/33] rust: bump minimum Rust and `bindgen` versions Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 01/33] rust: kbuild: remove `--remap-path-prefix` workarounds Miguel Ojeda
2026-04-06  0:18   ` Gary Guo
2026-04-06 14:28   ` Tamir Duberstein
2026-04-05 23:52 ` [PATCH v2 02/33] rust: kbuild: remove "`try` keyword" workaround for `bindgen` < 0.59.2 Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 03/33] rust: kbuild: remove unneeded old `allow`s for generated layout tests Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 04/33] gpu: nova-core: bindings: remove unneeded `cfg_attr` Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 05/33] rust: bump Rust minimum supported version to 1.85.0 (Debian Trixie) Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 06/33] rust: bump Clippy's MSRV and clean `incompatible_msrv` allows Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 07/33] rust: allow globally `clippy::incompatible_msrv` Miguel Ojeda
2026-04-06  0:18   ` Gary Guo
2026-04-06 14:28   ` Tamir Duberstein
2026-04-06 14:37     ` Miguel Ojeda
2026-04-06 15:30       ` Tamir Duberstein
2026-04-05 23:52 ` [PATCH v2 08/33] rust: simplify `RUSTC_VERSION` Kconfig conditions Miguel Ojeda
2026-04-05 23:52 ` Miguel Ojeda [this message]
2026-04-05 23:52 ` [PATCH v2 10/33] rust: remove `RUSTC_HAS_COERCE_POINTEE` and simplify code Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 11/33] rust: kbuild: remove skipping of `-Wrustdoc::unescaped_backticks` Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 12/33] rust: kbuild: remove `feature(...)`s that are now stable Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 13/33] rust: transmute: simplify code with Rust 1.80.0 `split_at_*checked()` Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 14/33] rust: alloc: simplify with `NonNull::add()` now that it is stable Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 15/33] rust: macros: simplify code using `feature(extract_if)` Miguel Ojeda
2026-04-06 14:28   ` Tamir Duberstein
2026-04-05 23:52 ` [PATCH v2 16/33] rust: block: update `const_refs_to_static` MSRV TODO comment Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 17/33] rust: bump `bindgen` minimum supported version to 0.71.1 (Debian Trixie) Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 18/33] rust: rust_is_available: remove warning for `bindgen` 0.66.[01] Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 19/33] rust: rust_is_available: remove warning for `bindgen` < 0.69.5 && libclang >= 19.1 Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 20/33] rust: kbuild: update `bindgen --rust-target` version and replace comment Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 21/33] rust: kbuild: remove "dummy parameter" workaround for `bindgen` < 0.71.1 Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 22/33] docs: rust: quick-start: openSUSE provides `rust-src` package nowadays Miguel Ojeda
2026-04-05 23:52 ` [PATCH v2 23/33] docs: rust: quick-start: update Ubuntu versioned packages Miguel Ojeda
2026-04-05 23:53 ` [PATCH v2 24/33] docs: rust: quick-start: update minimum Ubuntu version Miguel Ojeda
2026-04-05 23:53 ` [PATCH v2 25/33] docs: rust: quick-start: add Ubuntu 26.04 LTS and remove subsection title Miguel Ojeda
2026-04-05 23:53 ` [PATCH v2 26/33] docs: rust: quick-start: remove Gentoo "testing" note Miguel Ojeda
2026-04-05 23:53 ` [PATCH v2 27/33] docs: rust: quick-start: remove Nix "unstable channel" note Miguel Ojeda
2026-04-05 23:53 ` [PATCH v2 28/33] docs: rust: quick-start: remove GDB/Binutils mention Miguel Ojeda
2026-04-05 23:53 ` [PATCH v2 29/33] docs: rust: general-information: simplify Kconfig example Miguel Ojeda
2026-04-05 23:53 ` [PATCH v2 30/33] docs: rust: general-information: use real example Miguel Ojeda
2026-04-05 23:53 ` [PATCH v2 31/33] rust: declare cfi_encoding for lru_status Miguel Ojeda
2026-04-05 23:53 ` [PATCH v2 32/33] rust: kbuild: support global per-version flags Miguel Ojeda
2026-04-06 14:28   ` Tamir Duberstein
2026-04-05 23:53 ` [PATCH v2 33/33] rust: kbuild: allow `clippy::precedence` for Rust < 1.86.0 Miguel Ojeda
2026-04-06  9:03 ` [PATCH v2 00/33] rust: bump minimum Rust and `bindgen` versions Miguel Ojeda
2026-04-06 18:51   ` John Hubbard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260405235309.418950-10-ojeda@kernel.org \
    --to=ojeda@kernel.org \
    --cc=Liam.Howlett@oracle.com \
    --cc=a.hindborg@kernel.org \
    --cc=acourbot@nvidia.com \
    --cc=airlied@gmail.com \
    --cc=alex@ghiti.fr \
    --cc=aliceryhl@google.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=arve@android.com \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun@kernel.org \
    --cc=brendan.higgins@linux.dev \
    --cc=catalin.marinas@arm.com \
    --cc=christian@brauner.io \
    --cc=cmllamas@google.com \
    --cc=corbet@lwn.net \
    --cc=dakr@kernel.org \
    --cc=david@davidgow.net \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=gary@garyguo.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=justinstitt@google.com \
    --cc=kunit-dev@googlegroups.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=llvm@lists.linux.dev \
    --cc=lorenzo.stoakes@oracle.com \
    --cc=lossin@kernel.org \
    --cc=morbo@google.com \
    --cc=nathan@kernel.org \
    --cc=nick.desaulniers+lkml@gmail.com \
    --cc=nouveau@lists.freedesktop.org \
    --cc=nsc@kernel.org \
    --cc=palmer@dabbelt.com \
    --cc=pjw@kernel.org \
    --cc=raemoar63@gmail.com \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=simona@ffwll.ch \
    --cc=skhan@linuxfoundation.org \
    --cc=tamird@kernel.org \
    --cc=tkjos@android.com \
    --cc=tmgross@umich.edu \
    --cc=urezki@gmail.com \
    --cc=vbabka@kernel.org \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox