From: Alice Ryhl <aliceryhl@google.com>
To: Danilo Krummrich <dakr@kernel.org>
Cc: Matthew Maurer <mmaurer@google.com>,
rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
Alice Ryhl <aliceryhl@google.com>,
Benno Lossin <benno.lossin@proton.me>,
Tamir Duberstein <tamird@gmail.com>
Subject: [PATCH v5 0/7] Additional methods for Vec
Date: Fri, 02 May 2025 13:19:28 +0000 [thread overview]
Message-ID: <20250502-vec-methods-v5-0-06d20ad9366f@google.com> (raw)
This adds various Vec methods. Some of them are needed by Rust Binder,
and others are needed in other places. Each commit explains where it is
needed.
This series is based on top of alloc-next and rust: alloc: split
`Vec::set_len` into `Vec::{inc,dec}_len`
https://lore.kernel.org/rust-for-linux/20250416-vec-set-len-v4-0-112b222604cd@gmail.com/
Signed-off-by: Alice Ryhl <aliceryhl@google.com>
---
Changes in v5:
- Replace panics with errors.
- Avoid variable for length in drain_all.
- Link to v4: https://lore.kernel.org/r/20250429-vec-methods-v4-0-dad4436ff82d@google.com
Changes in v4:
- Add missing ? in some doc tests.
- Fix safety comment in Vec::push_within_capacity.
- Add panics section to Vec::remove docs.
- Move self.dec_len(1) to end of Vec::remove.
- Add kunit test for Vec::retain.
- Link to v3: https://lore.kernel.org/r/20250422-vec-methods-v3-0-deff5eea568a@google.com
Changes in v3:
- Rebase on split `Vec::set_len` into `Vec::{inc,dec}_len`.
- Various modifications to work with inc/dec_len instead of set_len,
with some Reviewed-by's dropped due to this.
- Move push_within_capacity impl into an unchecked variant.
- Link to v2: https://lore.kernel.org/r/20250321-vec-methods-v2-0-6d9c8a4634cb@google.com
Changes in v2:
- Add two more methods that I needed.
- Introduce some uses of set_len.
- Add example to retain.
- Simplify pop.
- Adjust 11 to 10 in push_within_capacity example.
- Link to v1: https://lore.kernel.org/r/20250320-vec-methods-v1-0-7dff5cf25fe8@google.com
---
Alice Ryhl (7):
rust: alloc: add Vec::clear
rust: alloc: add Vec::pop
rust: alloc: add Vec::push_within_capacity
rust: alloc: add Vec::drain_all
rust: alloc: add Vec::retain
rust: alloc: add Vec::remove
rust: alloc: add Vec::insert_within_capacity
rust/kernel/alloc/kvec.rs | 315 ++++++++++++++++++++++++++++++++++++++-
rust/kernel/alloc/kvec/errors.rs | 61 ++++++++
2 files changed, 373 insertions(+), 3 deletions(-)
---
base-commit: 88d5d6a38d5161228fbfe017eb94d777d5e8a0e4
change-id: 20250320-vec-methods-adfa41e55311
Best regards,
--
Alice Ryhl <aliceryhl@google.com>
next reply other threads:[~2025-05-02 13:19 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-02 13:19 Alice Ryhl [this message]
2025-05-02 13:19 ` [PATCH v5 1/7] rust: alloc: add Vec::clear Alice Ryhl
2025-05-02 13:19 ` [PATCH v5 2/7] rust: alloc: add Vec::pop Alice Ryhl
2025-05-07 11:32 ` Benno Lossin
2025-05-02 13:19 ` [PATCH v5 3/7] rust: alloc: add Vec::push_within_capacity Alice Ryhl
2025-05-02 14:07 ` Greg KH
2025-05-02 14:25 ` Alice Ryhl
2025-05-03 11:50 ` Danilo Krummrich
2025-05-07 11:35 ` Benno Lossin
2025-05-02 13:19 ` [PATCH v5 4/7] rust: alloc: add Vec::drain_all Alice Ryhl
2025-05-07 11:37 ` Benno Lossin
2025-05-02 13:19 ` [PATCH v5 5/7] rust: alloc: add Vec::retain Alice Ryhl
2025-05-07 11:40 ` Benno Lossin
2025-05-02 13:19 ` [PATCH v5 6/7] rust: alloc: add Vec::remove Alice Ryhl
2025-05-03 11:44 ` Danilo Krummrich
2025-05-07 5:30 ` Alexandre Courbot
2025-05-07 5:32 ` Alexandre Courbot
2025-05-07 6:32 ` [PATCH v5 6/7] rust: alloc: add Vec::remove' Alice Ryhl
2025-05-07 11:44 ` [PATCH v5 6/7] rust: alloc: add Vec::remove Benno Lossin
2025-05-08 9:50 ` Alice Ryhl
2025-05-02 13:19 ` [PATCH v5 7/7] rust: alloc: add Vec::insert_within_capacity Alice Ryhl
2025-05-07 11:46 ` Benno Lossin
2025-05-02 14:08 ` [PATCH v5 0/7] Additional methods for Vec Greg KH
2025-05-07 16:46 ` Danilo Krummrich
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=20250502-vec-methods-v5-0-06d20ad9366f@google.com \
--to=aliceryhl@google.com \
--cc=benno.lossin@proton.me \
--cc=dakr@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mmaurer@google.com \
--cc=rust-for-linux@vger.kernel.org \
--cc=tamird@gmail.com \
/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;
as well as URLs for NNTP newsgroup(s).