From: Fiona Behrens <me@kloenk.dev>
To: Andreas Hindborg <a.hindborg@kernel.org>
Cc: "Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Alice Ryhl" <aliceryhl@google.com>,
"Trevor Gross" <tmgross@umich.edu>,
"Masahiro Yamada" <masahiroy@kernel.org>,
"Nathan Chancellor" <nathan@kernel.org>,
"Nicolas Schier" <nicolas@fjasle.eu>,
"Luis Chamberlain" <mcgrof@kernel.org>,
rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
"Adam Bratschi-Kaye" <ark.email@gmail.com>,
linux-kbuild@vger.kernel.org, "Petr Pavlu" <petr.pavlu@suse.com>,
"Sami Tolvanen" <samitolvanen@google.com>,
"Daniel Gomez" <da.gomez@samsung.com>,
"Simona Vetter" <simona.vetter@ffwll.ch>,
"Greg KH" <gregkh@linuxfoundation.org>,
linux-modules@vger.kernel.org
Subject: Re: [PATCH v7 2/6] rust: str: implement `Index` for `BStr`
Date: Mon, 24 Feb 2025 14:50:51 +0100 [thread overview]
Message-ID: <87y0xvpi2s.fsf@kloenk.dev> (raw)
In-Reply-To: <20250218-module-params-v3-v7-2-5e1afabcac1b@kernel.org> (Andreas Hindborg's message of "Tue, 18 Feb 2025 14:00:44 +0100")
Andreas Hindborg <a.hindborg@kernel.org> writes:
> The `Index` implementation on `BStr` was lost when we switched `BStr` from
> a type alias of `[u8]` to a newtype. This patch adds back `Index` by
> implementing `Index` for `BStr` when `Index` would be implemented for
> `[u8]`.
>
> Signed-off-by: Andreas Hindborg <a.hindborg@kernel.org>
Reviewed-by: Fiona Behrens <me@kloenk.dev>
> ---
> rust/kernel/str.rs | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/rust/kernel/str.rs b/rust/kernel/str.rs
> index 002dcddf7c768..ba6b1a5c4f99d 100644
> --- a/rust/kernel/str.rs
> +++ b/rust/kernel/str.rs
> @@ -114,6 +114,17 @@ fn eq(&self, other: &Self) -> bool {
> }
> }
>
> +impl<Idx> Index<Idx> for BStr
> +where
> + [u8]: Index<Idx, Output = [u8]>,
> +{
> + type Output = Self;
> +
> + fn index(&self, index: Idx) -> &Self::Output {
> + BStr::from_bytes(&self.0[index])
> + }
> +}
> +
> /// Creates a new [`BStr`] from a string literal.
> ///
> /// `b_str!` converts the supplied string literal to byte string, so non-ASCII
next prev parent reply other threads:[~2025-02-24 13:51 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <JKqjFnoTeEbURcTQ5PpmUZWDS2VMEt0eZl68dWkgk3e8ROFpb2eTWH2mStKkkXJw__Ql5DdYvIR9I7qYks-lag==@protonmail.internalid>
2025-02-18 13:00 ` [PATCH v7 0/6] rust: extend `module!` macro with integer parameter support Andreas Hindborg
2025-02-18 13:00 ` [PATCH v7 1/6] rust: str: implement `PartialEq` for `BStr` Andreas Hindborg
2025-02-21 15:51 ` Daniel Almeida
2025-02-18 13:00 ` [PATCH v7 2/6] rust: str: implement `Index` " Andreas Hindborg
2025-02-21 15:58 ` Daniel Almeida
2025-02-24 13:50 ` Fiona Behrens [this message]
2025-02-18 13:00 ` [PATCH v7 3/6] rust: str: implement `AsRef<BStr>` for `[u8]` and `BStr` Andreas Hindborg
2025-02-21 16:01 ` Daniel Almeida
2025-02-21 16:15 ` Daniel Almeida
2025-02-21 18:52 ` Gary Guo
2025-02-18 13:00 ` [PATCH v7 4/6] rust: str: implement `strip_prefix` for `BStr` Andreas Hindborg
2025-02-21 16:14 ` Daniel Almeida
2025-02-18 13:00 ` [PATCH v7 5/6] rust: str: add radix prefixed integer parsing functions Andreas Hindborg
2025-02-24 13:34 ` Daniel Almeida
2025-02-24 13:43 ` Andreas Hindborg
2025-02-24 22:30 ` Janne Grunau
2025-02-25 1:51 ` Miguel Ojeda
2025-02-25 8:07 ` Andreas Hindborg
2025-02-25 5:54 ` Andreas Hindborg
2025-02-18 13:00 ` [PATCH v7 6/6] rust: add parameter support to the `module!` macro Andreas Hindborg
2025-02-24 15:28 ` Daniel Almeida
2025-02-25 8:02 ` Andreas Hindborg
2025-02-25 15:14 ` Gary Guo
2025-02-25 15:35 ` Andreas Hindborg
2025-02-21 15:45 ` [PATCH v7 0/6] rust: extend `module!` macro with integer parameter support Daniel Almeida
2025-02-22 8:49 ` Andreas Hindborg
2025-02-24 11:27 ` Andreas Hindborg
2025-02-25 10:22 ` Petr Pavlu
2025-02-25 11:54 ` Miguel Ojeda
2025-02-27 14:55 ` Petr Pavlu
2025-02-27 15:37 ` Miguel Ojeda
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=87y0xvpi2s.fsf@kloenk.dev \
--to=me@kloenk.dev \
--cc=a.hindborg@kernel.org \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=ark.email@gmail.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=da.gomez@samsung.com \
--cc=gary@garyguo.net \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-modules@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=mcgrof@kernel.org \
--cc=nathan@kernel.org \
--cc=nicolas@fjasle.eu \
--cc=ojeda@kernel.org \
--cc=petr.pavlu@suse.com \
--cc=rust-for-linux@vger.kernel.org \
--cc=samitolvanen@google.com \
--cc=simona.vetter@ffwll.ch \
--cc=tmgross@umich.edu \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.