Re: [PATCH v1] rust: alloc: remove the `borrow` module (`ToOwned`, `Cow`)

From: Miguel Ojeda
Date: Mon Jan 16 2023 - 18:35:20 EST


On Tue, Dec 6, 2022 at 2:05 AM <ojeda@xxxxxxxxxx> wrote:
>
> From: Miguel Ojeda <ojeda@xxxxxxxxxx>
>
> The `Cow` type [1] requires that its generic parameter type implements
> the `ToOwned` trait [2], which provides a method to create owned data
> from borrowed data, usually by cloning.
>
> However, it is infallible, and thus in most cases it is not useful for
> the kernel. [3]
>
> Therefore, introduce `cfg(no_borrow)` to remove the `borrow` module
> (which contains `ToOwned` and `Cow`) from `alloc`.
>
> Link: https://doc.rust-lang.org/alloc/borrow/enum.Cow.html [1]
> Link: https://doc.rust-lang.org/alloc/borrow/trait.ToOwned.html [2]
> Link: https://lore.kernel.org/rust-for-linux/20221204103153.117675b1@GaryWorkstation/ [3]
> Cc: Gary Guo <gary@xxxxxxxxxxx>
> Cc: Wedson Almeida Filho <wedsonaf@xxxxxxxxx>
> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx>
> Signed-off-by: Miguel Ojeda <ojeda@xxxxxxxxxx>

Applied to rust-next, thanks all!

Cheers,
Miguel