[0/4] rust: alloc: vec: Add some missing fallible try_* methods

Message ID 20230224-rust-vec-v1-0-733b5b5a57c5@asahilina.net
Headers
Series rust: alloc: vec: Add some missing fallible try_* methods |

Message

Asahi Lina Feb. 24, 2023, 9:11 a.m. UTC
  Hi everyone!

This short series is part of the set of dependencies for the drm/asahi
Apple M1/M2 GPU driver.

This series imports part of a commit from Miguel in
rust-for-linux/linux, which adds missing fallible
mutation/allocation methods to `Vec`. These are generally useful to make
standard features available to the kernel environment, which does not
have infallible allocation.

The additions in turn depend on importing two submodules from the Rust
stdlib, which I have attributed using the same commit message template
used for the original import of this part of the codebase. These
versions come from Rust 1.66, but also build on Rust 1.62 (the current
version upstream). I added the SPDX identifiers in a separate commit to
clearly separate the original code from subsequent changes.

Signed-off-by: Asahi Lina <lina@asahilina.net>
---
Asahi Lina (3):
      rust: Import upstream `alloc::vec::set_len_on_drop` module
      rust: Import upstream `alloc::vec::spec_extend` module
      rust: Add SPDX headers to alloc::vec::{spec_extend, set_len_on_drop}

Miguel Ojeda (1):
      rust: alloc: vec: Add some try_* methods we need
 rust/alloc/vec/mod.rs             | 137 +++++++++++++++++++++++++++++-
 rust/alloc/vec/set_len_on_drop.rs |  30 +++++++
 rust/alloc/vec/spec_extend.rs     | 172 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 336 insertions(+), 3 deletions(-)
---
base-commit: 83f978b63fa7ad474ca22d7e2772c5988101c9bd
change-id: 20230224-rust-vec-df72fa4b806c

Thank you,
~~ Lina
  

Comments

Miguel Ojeda April 10, 2023, 3:42 a.m. UTC | #1
On Fri, Feb 24, 2023 at 10:12 AM Asahi Lina <lina@asahilina.net> wrote:
>
> Hi everyone!
>
> This short series is part of the set of dependencies for the drm/asahi
> Apple M1/M2 GPU driver.
>
> This series imports part of a commit from Miguel in
> rust-for-linux/linux, which adds missing fallible
> mutation/allocation methods to `Vec`. These are generally useful to make
> standard features available to the kernel environment, which does not
> have infallible allocation.
>
> The additions in turn depend on importing two submodules from the Rust
> stdlib, which I have attributed using the same commit message template
> used for the original import of this part of the codebase. These
> versions come from Rust 1.66, but also build on Rust 1.62 (the current
> version upstream). I added the SPDX identifiers in a separate commit to
> clearly separate the original code from subsequent changes.

I have used the 1.62.0 versions to keep things aligned.

More importantly, I matched the new fallible methods to those in
1.62.0, since the commit used to import them was quite old and there
have been changes since then.

Applied to `rust-next`. Thanks!

Cheers,
Miguel