Skip to content

Commit 131dae1

Browse files
authored
Implement Extend<Bytes> for BytesMut (#527)
1 parent 0e3b246 commit 131dae1

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

src/bytes_mut.rs

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1211,6 +1211,17 @@ impl<'a> Extend<&'a u8> for BytesMut {
12111211
}
12121212
}
12131213

1214+
impl Extend<Bytes> for BytesMut {
1215+
fn extend<T>(&mut self, iter: T)
1216+
where
1217+
T: IntoIterator<Item = Bytes>,
1218+
{
1219+
for bytes in iter {
1220+
self.extend_from_slice(&bytes)
1221+
}
1222+
}
1223+
}
1224+
12141225
impl FromIterator<u8> for BytesMut {
12151226
fn from_iter<T: IntoIterator<Item = u8>>(into_iter: T) -> Self {
12161227
BytesMut::from_vec(Vec::from_iter(into_iter))

tests/test_bytes.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -544,6 +544,13 @@ fn extend_from_slice_mut() {
544544
}
545545
}
546546

547+
#[test]
548+
fn extend_mut_from_bytes() {
549+
let mut bytes = BytesMut::with_capacity(0);
550+
bytes.extend([Bytes::from(LONG)]);
551+
assert_eq!(*bytes, LONG[..]);
552+
}
553+
547554
#[test]
548555
fn extend_mut_without_size_hint() {
549556
let mut bytes = BytesMut::with_capacity(0);

0 commit comments

Comments
 (0)