We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 876c465 commit fa4e22fCopy full SHA for fa4e22f
src/lib.rs
@@ -1046,16 +1046,9 @@ impl<A: Array> Ord for ArrayVec<A> where A::Item: Ord {
1046
/// Requires `features="std"`.
1047
impl<A: Array<Item=u8>> io::Write for ArrayVec<A> {
1048
fn write(&mut self, data: &[u8]) -> io::Result<usize> {
1049
- unsafe {
1050
- let len = self.len();
1051
- let mut tail = slice::from_raw_parts_mut(self.get_unchecked_mut(len),
1052
- A::capacity() - len);
1053
- let result = tail.write(data);
1054
- if let Ok(written) = result {
1055
- self.set_len(len + written);
1056
- }
1057
- result
1058
+ let len = cmp::min(self.capacity_left(), data.len());
+ self.extend_from_slice(&data[..len]);
+ Ok(len)
1059
}
1060
fn flush(&mut self) -> io::Result<()> { Ok(()) }
1061
0 commit comments