Sign In

arrayvec

Package Overview
Dependencies
Maintainers
1
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

arrayvec - cargo Package Compare versions

Comparing version
0.4.11
to
0.4.12
+1
-1
.cargo_vcs_info.json
{
"git": {
"sha1": "97925027920f7a284774f76a48c3126297d2fd13"
"sha1": "f88c62e59fc130edf1185b6c33720eb4874c814a"
}
}

@@ -15,3 +15,3 @@ # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO

name = "arrayvec"
version = "0.4.11"
version = "0.4.12"
authors = ["bluss"]

@@ -29,2 +29,3 @@ description = "A vector with fixed capacity, backed by an array (it can be stored on the stack too). Implements fixed capacity ArrayVec and ArrayString."

no-dev-version = true
tag-name = "{{version}}"

@@ -31,0 +32,0 @@ [[bench]]

@@ -25,2 +25,7 @@

- 0.4.12
- Use raw pointers instead of ``get_unchecked_mut`` where the target may be
uninitialized a everywhere relevant in the ArrayVec implementation.
- 0.4.11

@@ -27,0 +32,0 @@

@@ -246,6 +246,11 @@ //! **arrayvec** provides the types `ArrayVec` and `ArrayString`:

debug_assert!(len < A::capacity());
ptr::write(self.get_unchecked_mut(len), element);
ptr::write(self.get_unchecked_ptr(len), element);
self.set_len(len + 1);
}
/// Get pointer to where element at `index` would be
unsafe fn get_unchecked_ptr(&mut self, index: usize) -> *mut A::Item {
self.xs.ptr_mut().offset(index as isize)
}
/// Insert `element` at position `index`.

@@ -308,3 +313,3 @@ ///

{
let p: *mut _ = self.get_unchecked_mut(index);
let p: *mut _ = self.get_unchecked_ptr(index);
// Shift everything over to make space. (Duplicating the

@@ -343,3 +348,3 @@ // `index`th element into two consecutive places.)

self.set_len(new_len);
Some(ptr::read(self.get_unchecked_mut(new_len)))
Some(ptr::read(self.get_unchecked_ptr(new_len)))
}

@@ -707,3 +712,3 @@ }

self.index = Index::from(index + 1);
Some(ptr::read(self.v.get_unchecked_mut(index)))
Some(ptr::read(self.v.get_unchecked_ptr(index)))
}

@@ -728,3 +733,3 @@ }

self.v.set_len(new_len);
Some(ptr::read(self.v.get_unchecked_mut(new_len)))
Some(ptr::read(self.v.get_unchecked_ptr(new_len)))
}

@@ -745,3 +750,3 @@ }

let elements = slice::from_raw_parts_mut(
self.v.get_unchecked_mut(index),
self.v.get_unchecked_ptr(index),
len - index);

@@ -1031,9 +1036,6 @@ ptr::drop_in_place(elements);

let len = self.len();
let mut tail = slice::from_raw_parts_mut(self.get_unchecked_mut(len),
A::capacity() - len);
let result = tail.write(data);
if let Ok(written) = result {
self.set_len(len + written);
}
result
let write_len = cmp::min(A::capacity() - len, data.len());
ptr::copy_nonoverlapping(data.as_ptr(), self.get_unchecked_ptr(len), write_len);
self.set_len(len + write_len);
Ok(write_len)
}

@@ -1040,0 +1042,0 @@ }

Sorry, the diff of this file is not supported yet