Merge pull request #166 from hbina/use_add_instead_of_offset

Use `add` instead of `offset` so we don't need to cast to isize.
This commit is contained in:
bluss
2020-10-23 18:13:41 +02:00
committed by GitHub
2 changed files with 7 additions and 7 deletions
+3 -3
View File
@@ -241,7 +241,7 @@ impl<A> ArrayString<A>
return Err(CapacityError::new(s)); return Err(CapacityError::new(s));
} }
unsafe { unsafe {
let dst = self.xs.ptr_mut().offset(self.len() as isize); let dst = self.xs.ptr_mut().add(self.len());
let src = s.as_ptr(); let src = s.as_ptr();
ptr::copy_nonoverlapping(src, dst, s.len()); ptr::copy_nonoverlapping(src, dst, s.len());
let newl = self.len() + s.len(); let newl = self.len() + s.len();
@@ -332,8 +332,8 @@ impl<A> ArrayString<A>
let next = idx + ch.len_utf8(); let next = idx + ch.len_utf8();
let len = self.len(); let len = self.len();
unsafe { unsafe {
ptr::copy(self.xs.ptr().offset(next as isize), ptr::copy(self.xs.ptr().add(next),
self.xs.ptr_mut().offset(idx as isize), self.xs.ptr_mut().add(idx),
len - next); len - next);
self.set_len(len - (next - idx)); self.set_len(len - (next - idx));
} }
+4 -4
View File
@@ -570,7 +570,7 @@ impl<A: Array> ArrayVec<A> {
let other_len = other.len(); let other_len = other.len();
unsafe { unsafe {
let dst = self.xs.ptr_mut().offset(self_len as isize); let dst = self.xs.ptr_mut().add(self_len);
ptr::copy_nonoverlapping(other.as_ptr(), dst, other_len); ptr::copy_nonoverlapping(other.as_ptr(), dst, other_len);
self.set_len(self_len + other_len); self.set_len(self_len + other_len);
} }
@@ -952,8 +952,8 @@ impl<'a, A: Array> Drop for Drain<'a, A>
// memmove back untouched tail, update to new length // memmove back untouched tail, update to new length
let start = source_vec.len(); let start = source_vec.len();
let tail = self.tail_start; let tail = self.tail_start;
let src = source_vec.as_ptr().offset(tail as isize); let src = source_vec.as_ptr().add(tail);
let dst = source_vec.as_mut_ptr().offset(start as isize); let dst = source_vec.as_mut_ptr().add(start);
ptr::copy(src, dst, self.tail_len); ptr::copy(src, dst, self.tail_len);
source_vec.set_len(start + self.tail_len); source_vec.set_len(start + self.tail_len);
} }
@@ -1022,7 +1022,7 @@ unsafe fn raw_ptr_add<T>(ptr: *mut T, offset: usize) -> *mut T {
// Special case for ZST // Special case for ZST
(ptr as usize).wrapping_add(offset) as _ (ptr as usize).wrapping_add(offset) as _
} else { } else {
ptr.offset(offset as isize) ptr.add(offset)
} }
} }