diff --git a/src/array_string.rs b/src/array_string.rs index 7239288..1aae59e 100644 --- a/src/array_string.rs +++ b/src/array_string.rs @@ -241,7 +241,7 @@ impl ArrayString return Err(CapacityError::new(s)); } 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(); ptr::copy_nonoverlapping(src, dst, s.len()); let newl = self.len() + s.len(); @@ -332,8 +332,8 @@ impl ArrayString let next = idx + ch.len_utf8(); let len = self.len(); unsafe { - ptr::copy(self.xs.ptr().offset(next as isize), - self.xs.ptr_mut().offset(idx as isize), + ptr::copy(self.xs.ptr().add(next), + self.xs.ptr_mut().add(idx), len - next); self.set_len(len - (next - idx)); } diff --git a/src/lib.rs b/src/lib.rs index 6267712..a5d6c06 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -570,7 +570,7 @@ impl ArrayVec { let other_len = other.len(); 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); 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 let start = source_vec.len(); let tail = self.tail_start; - let src = source_vec.as_ptr().offset(tail as isize); - let dst = source_vec.as_mut_ptr().offset(start as isize); + let src = source_vec.as_ptr().add(tail); + let dst = source_vec.as_mut_ptr().add(start); ptr::copy(src, dst, self.tail_len); source_vec.set_len(start + self.tail_len); } @@ -1022,7 +1022,7 @@ unsafe fn raw_ptr_add(ptr: *mut T, offset: usize) -> *mut T { // Special case for ZST (ptr as usize).wrapping_add(offset) as _ } else { - ptr.offset(offset as isize) + ptr.add(offset) } }