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

From: Wei Liu
Date: Tue Dec 06 2022 - 12:22:55 EST


On Tue, Dec 06, 2022 at 02:05:19AM +0100, 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>

Reviewed-by: Wei Liu <wei.liu@xxxxxxxxxx>