Commit d2e3f798 authored by Andreas Hindborg's avatar Andreas Hindborg Committed by Miguel Ojeda
Browse files

rust: str: implement `AsRef<BStr>` for `[u8]` and `BStr`



Implement `AsRef<BStr>` for `[u8]` and `BStr` so these can be used
interchangeably for operations on `BStr`.

Reviewed-by: default avatarGary Guo <gary@garyguo.net>
Tested-by: default avatarDaniel Almeida <daniel.almeida@collabora.com>
Reviewed-by: default avatarDaniel Almeida <daniel.almeida@collabora.com>
Signed-off-by: default avatarAndreas Hindborg <a.hindborg@kernel.org>
Reviewed-by: default avatarFiona Behrens <me@kloenk.dev>
Tested-by: default avatarDaniel Gomez <da.gomez@samsung.com>
Link: https://lore.kernel.org/r/20250227-module-params-v3-v8-3-ceeee85d9347@kernel.org


Signed-off-by: default avatarMiguel Ojeda <ojeda@kernel.org>
parent 50a5ff0a
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -125,6 +125,18 @@ fn index(&self, index: Idx) -> &Self::Output {
    }
}

impl AsRef<BStr> for [u8] {
    fn as_ref(&self) -> &BStr {
        BStr::from_bytes(self)
    }
}

impl AsRef<BStr> for BStr {
    fn as_ref(&self) -> &BStr {
        self
    }
}

/// Creates a new [`BStr`] from a string literal.
///
/// `b_str!` converts the supplied string literal to byte string, so non-ASCII