smol_bytes/bytes_mut/
ops.rs1use super::*;
2
3impl core::ops::Deref for BytesMut {
4 type Target = [u8];
5
6 #[cfg_attr(not(coverage), inline(always))]
7 fn deref(&self) -> &Self::Target {
8 match &self.0 {
9 Repr::Inline(b) => b.as_slice(),
10 Repr::Heap(b) => b.as_ref(),
11 }
12 }
13}
14
15impl core::ops::DerefMut for BytesMut {
16 #[cfg_attr(not(coverage), inline(always))]
17 fn deref_mut(&mut self) -> &mut Self::Target {
18 match &mut self.0 {
19 Repr::Inline(b) => b.as_mut_slice(),
20 Repr::Heap(b) => b.as_mut(),
21 }
22 }
23}
24
25impl core::borrow::Borrow<[u8]> for BytesMut {
26 #[cfg_attr(not(coverage), inline(always))]
27 fn borrow(&self) -> &[u8] {
28 self.as_ref()
29 }
30}
31
32impl core::borrow::BorrowMut<[u8]> for BytesMut {
33 #[cfg_attr(not(coverage), inline(always))]
34 fn borrow_mut(&mut self) -> &mut [u8] {
35 self.as_mut()
36 }
37}
38
39impl AsRef<[u8]> for BytesMut {
40 #[cfg_attr(not(coverage), inline(always))]
41 fn as_ref(&self) -> &[u8] {
42 self
43 }
44}
45
46impl AsMut<[u8]> for BytesMut {
47 #[cfg_attr(not(coverage), inline(always))]
48 fn as_mut(&mut self) -> &mut [u8] {
49 self
50 }
51}