[PATCH v4 0/2] rust: transmute: add `as_bytes(_mut)` methods for `AsBytes` trait

Alexandre Courbot posted 2 patches 2 months, 1 week ago
There is a newer version of this series
rust/kernel/transmute.rs | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
[PATCH v4 0/2] rust: transmute: add `as_bytes(_mut)` methods for `AsBytes` trait
Posted by Alexandre Courbot 2 months, 1 week ago
This is the sister patch of [1], providing an `as_bytes` method for
`AsBytes`, and an `as_bytes_mut` accessor for types also implementing
`FromBytes`.

It is going to be used in Nova, but should also be universally useful -
if anything, it felt a bit strange that `AsBytes` did not provide this
so far.

[1] https://lore.kernel.org/rust-for-linux/20250624042802.105623-1-christiansantoslima21@gmail.com/

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
---
Changes in v4:
- Add the `as_bytes_mut` method for types also implementing `FromBytes`.
  (thanks Alice!)
- Link to v3: https://lore.kernel.org/r/20250726-as_bytes-v3-1-eb7514faab28@nvidia.com

Changes in v3:
- Use `ptr::from_ref` instead of `as *const T`.
- Link to v2: https://lore.kernel.org/r/20250725-as_bytes-v2-1-c6584c211a6c@nvidia.com

Changes in v2:
- Use `size_of_val` to provide a default implementation for both `Sized`
  and non-`Sized` types, and remove `AsBytesSized`. (thanks Alice!)
- Link to v1: https://lore.kernel.org/r/20250725-as_bytes-v1-1-6f06a3744f69@nvidia.com

---
Alexandre Courbot (2):
      rust: transmute: add `as_bytes` method for `AsBytes` trait
      rust: transmute: add `as_bytes_mut` method to `AsBytes` trait

 rust/kernel/transmute.rs | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)
---
base-commit: 14ae91a81ec8fa0bc23170d4aa16dd2a20d54105
change-id: 20250725-as_bytes-6cbc11f2e8c3

Best regards,
-- 
Alexandre Courbot <acourbot@nvidia.com>
Re: [PATCH v4 0/2] rust: transmute: add `as_bytes(_mut)` methods for `AsBytes` trait
Posted by Gary Guo 2 months, 1 week ago
On Mon, 28 Jul 2025 21:47:50 +0900
Alexandre Courbot <acourbot@nvidia.com> wrote:

> This is the sister patch of [1], providing an `as_bytes` method for
> `AsBytes`, and an `as_bytes_mut` accessor for types also implementing
> `FromBytes`.
> 
> It is going to be used in Nova, but should also be universally useful -
> if anything, it felt a bit strange that `AsBytes` did not provide this
> so far.
> 
> [1] https://lore.kernel.org/rust-for-linux/20250624042802.105623-1-christiansantoslima21@gmail.com/
> 
> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
> ---
> Changes in v4:
> - Add the `as_bytes_mut` method for types also implementing `FromBytes`.
>   (thanks Alice!)
> - Link to v3: https://lore.kernel.org/r/20250726-as_bytes-v3-1-eb7514faab28@nvidia.com
> 
> Changes in v3:
> - Use `ptr::from_ref` instead of `as *const T`.
> - Link to v2: https://lore.kernel.org/r/20250725-as_bytes-v2-1-c6584c211a6c@nvidia.com
> 
> Changes in v2:
> - Use `size_of_val` to provide a default implementation for both `Sized`
>   and non-`Sized` types, and remove `AsBytesSized`. (thanks Alice!)
> - Link to v1: https://lore.kernel.org/r/20250725-as_bytes-v1-1-6f06a3744f69@nvidia.com
> 
> ---
> Alexandre Courbot (2):
>       rust: transmute: add `as_bytes` method for `AsBytes` trait
>       rust: transmute: add `as_bytes_mut` method to `AsBytes` trait
> 
>  rust/kernel/transmute.rs | 24 +++++++++++++++++++++++-
>  1 file changed, 23 insertions(+), 1 deletion(-)
> ---
> base-commit: 14ae91a81ec8fa0bc23170d4aa16dd2a20d54105
> change-id: 20250725-as_bytes-6cbc11f2e8c3
> 
> Best regards,

Reviewed-by: Gary Guo <gary@garyguo.net>
Re: [PATCH v4 0/2] rust: transmute: add `as_bytes(_mut)` methods for `AsBytes` trait
Posted by Alice Ryhl 2 months, 1 week ago
On Mon, Jul 28, 2025 at 09:47:50PM +0900, Alexandre Courbot wrote:
> This is the sister patch of [1], providing an `as_bytes` method for
> `AsBytes`, and an `as_bytes_mut` accessor for types also implementing
> `FromBytes`.
> 
> It is going to be used in Nova, but should also be universally useful -
> if anything, it felt a bit strange that `AsBytes` did not provide this
> so far.
> 
> [1] https://lore.kernel.org/rust-for-linux/20250624042802.105623-1-christiansantoslima21@gmail.com/
> 
> Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
> ---
> Changes in v4:
> - Add the `as_bytes_mut` method for types also implementing `FromBytes`.
>   (thanks Alice!)
> - Link to v3: https://lore.kernel.org/r/20250726-as_bytes-v3-1-eb7514faab28@nvidia.com
> 
> Changes in v3:
> - Use `ptr::from_ref` instead of `as *const T`.
> - Link to v2: https://lore.kernel.org/r/20250725-as_bytes-v2-1-c6584c211a6c@nvidia.com
> 
> Changes in v2:
> - Use `size_of_val` to provide a default implementation for both `Sized`
>   and non-`Sized` types, and remove `AsBytesSized`. (thanks Alice!)
> - Link to v1: https://lore.kernel.org/r/20250725-as_bytes-v1-1-6f06a3744f69@nvidia.com
> 
> ---
> Alexandre Courbot (2):
>       rust: transmute: add `as_bytes` method for `AsBytes` trait
>       rust: transmute: add `as_bytes_mut` method to `AsBytes` trait

Reviewed-by: Alice Ryhl <aliceryhl@google.com>