Skip to content

Commit d29b9c8

Browse files
robjtedelelongg
authored andcommitted
Implement Extend<Bytes> for BytesMut (tokio-rs#527)
1 parent f90233c commit d29b9c8

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
@@ -545,6 +545,13 @@ fn extend_from_slice_mut() {
545545
}
546546
}
547547

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

0 commit comments

Comments
 (0)