Skip to content

Commit 7a0ce5c

Browse files
Andreas Hindborgjannau
authored andcommitted
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: Gary Guo <gary@garyguo.net> Tested-by: Daniel Almeida <daniel.almeida@collabora.com> Reviewed-by: Daniel Almeida <daniel.almeida@collabora.com> Signed-off-by: Andreas Hindborg <a.hindborg@kernel.org>
1 parent 9b92f79 commit 7a0ce5c

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

rust/kernel/str.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,18 @@ where
125125
}
126126
}
127127

128+
impl AsRef<BStr> for [u8] {
129+
fn as_ref(&self) -> &BStr {
130+
BStr::from_bytes(self)
131+
}
132+
}
133+
134+
impl AsRef<BStr> for BStr {
135+
fn as_ref(&self) -> &BStr {
136+
self
137+
}
138+
}
139+
128140
/// Creates a new [`BStr`] from a string literal.
129141
///
130142
/// `b_str!` converts the supplied string literal to byte string, so non-ASCII

0 commit comments

Comments
 (0)