All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Benno Lossin" <lossin@kernel.org>
To: "I Hsin Cheng" <richard120310@gmail.com>, <ojeda@kernel.org>
Cc: <alex.gaynor@gmail.com>, <boqun.feng@gmail.com>,
	<gary@garyguo.net>, <bjorn3_gh@protonmail.com>,
	<benno.lossin@proton.me>, <a.hindborg@kernel.org>,
	<aliceryhl@google.com>, <tmgross@umich.edu>, <dakr@kernel.org>,
	<rust-for-linux@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	<skhan@linuxfoundation.org>,
	<linux-kernel-mentees@lists.linux.dev>, <jserv@ccns.ncku.edu.tw>
Subject: Re: [RFC PATCH v2] rust: list: Add examples for linked list
Date: Thu, 22 May 2025 11:51:59 +0200	[thread overview]
Message-ID: <DA2LI55W3BY8.14DMW9GGSAEY5@kernel.org> (raw)
In-Reply-To: <20250311133357.90322-1-richard120310@gmail.com>

On Tue Mar 11, 2025 at 2:33 PM CET, I Hsin Cheng wrote:
> Add basic examples for the structure "List", also serve as the unit
> tests for basic list methods. Including the following manipulations:
> * List creation
> * List emptiness check
> * List insertion through push_front(), push_back()
> * List item removal through pop_front(), pop_back()
> * Push one list to another through push_all_back()
>
> The method "remove()" doesn't have an example here because insertion
> with push_front() or push_back() will take the ownership of the item,
> which means we can't keep any valid reference to the node we want to
> remove, unless Cursor is used. The remove example through Cursor is
> already demonstrate with 'commit 52ae96f5187c ("rust: list: make the
> cursor point between elements")' .
>
> Link: https://github.com/Rust-for-Linux/linux/issues/1121
> Signed-off-by: I Hsin Cheng <richard120310@gmail.com>
> ---
> Changelog:
>
> v1 -> v2:
>     - Abandon new implementation of method to create a new "ListLink"
>       instance
>     - Rephrase the examples' comment
>     - Increase the coverity of the examples
>
> Tests was performed on ubuntu 24.04 with x86_64 architecture.
>
> $ ./tools/testing/kunit/kunit.py run --make_options LLVM=1 --arch x86_64 --kconfig_add CONFIG_RUST=y
> ...
> [21:13:11] Testing complete. Ran 615 tests: passed: 563, skipped: 52
> [21:13:11] Elapsed time: 23.020s total, 0.001s configuring, 10.985s building, 12.020s running
>
> Rust related unit tests are all passed.
>
> Best regards,
> I Hsin Cheng
> ---
>  rust/kernel/list.rs | 117 ++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 117 insertions(+)

This is a nice example, so

Reviewed-by: Benno Lossin <lossin@kernel.org>

It uses `unwrap` a lot, which might confuse newcomers that that is ok in
normal code. I'm wondering if we can do something about that though...

---
Cheers,
Benno

  parent reply	other threads:[~2025-05-22  9:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-11 13:33 [RFC PATCH v2] rust: list: Add examples for linked list I Hsin Cheng
2025-05-21 15:27 ` Miguel Ojeda
2025-05-21 23:08 ` Alice Ryhl
2025-05-22  9:49 ` Miguel Ojeda
2025-05-22  9:51 ` Benno Lossin [this message]
2025-05-22 10:05   ` 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=DA2LI55W3BY8.14DMW9GGSAEY5@kernel.org \
    --to=lossin@kernel.org \
    --cc=a.hindborg@kernel.org \
    --cc=alex.gaynor@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=benno.lossin@proton.me \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=dakr@kernel.org \
    --cc=gary@garyguo.net \
    --cc=jserv@ccns.ncku.edu.tw \
    --cc=linux-kernel-mentees@lists.linux.dev \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ojeda@kernel.org \
    --cc=richard120310@gmail.com \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=skhan@linuxfoundation.org \
    --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.