1
Fork 0

Make some docs nicer wrt pointer offsets

This commit is contained in:
Maybe Waffle 2022-08-19 13:33:46 +04:00
parent 6c943bad02
commit 3ba393465f
4 changed files with 10 additions and 10 deletions

View file

@ -436,9 +436,9 @@ impl CString {
/// ///
/// unsafe { /// unsafe {
/// assert_eq!(b'f', *ptr as u8); /// assert_eq!(b'f', *ptr as u8);
/// assert_eq!(b'o', *ptr.offset(1) as u8); /// assert_eq!(b'o', *ptr.add(1) as u8);
/// assert_eq!(b'o', *ptr.offset(2) as u8); /// assert_eq!(b'o', *ptr.add(2) as u8);
/// assert_eq!(b'\0', *ptr.offset(3) as u8); /// assert_eq!(b'\0', *ptr.add(3) as u8);
/// ///
/// // retake pointer to free memory /// // retake pointer to free memory
/// let _ = CString::from_raw(ptr); /// let _ = CString::from_raw(ptr);

View file

@ -542,8 +542,8 @@ impl<T> Vec<T> {
/// ///
/// unsafe { /// unsafe {
/// // Overwrite memory with 4, 5, 6 /// // Overwrite memory with 4, 5, 6
/// for i in 0..len as isize { /// for i in 0..len {
/// ptr::write(p.offset(i), 4 + i); /// ptr::write(p.add(i), 4 + i);
/// } /// }
/// ///
/// // Put everything back together into a Vec /// // Put everything back together into a Vec
@ -702,8 +702,8 @@ impl<T, A: Allocator> Vec<T, A> {
/// ///
/// unsafe { /// unsafe {
/// // Overwrite memory with 4, 5, 6 /// // Overwrite memory with 4, 5, 6
/// for i in 0..len as isize { /// for i in 0..len {
/// ptr::write(p.offset(i), 4 + i); /// ptr::write(p.add(i), 4 + i);
/// } /// }
/// ///
/// // Put everything back together into a Vec /// // Put everything back together into a Vec

View file

@ -2211,7 +2211,7 @@ pub(crate) fn is_nonoverlapping<T>(src: *const T, dst: *const T, count: usize) -
/// unsafe { /// unsafe {
/// // The call to offset is always safe because `Vec` will never /// // The call to offset is always safe because `Vec` will never
/// // allocate more than `isize::MAX` bytes. /// // allocate more than `isize::MAX` bytes.
/// let dst_ptr = dst.as_mut_ptr().offset(dst_len as isize); /// let dst_ptr = dst.as_mut_ptr().add(dst_len);
/// let src_ptr = src.as_ptr(); /// let src_ptr = src.as_ptr();
/// ///
/// // Truncate `src` without dropping its contents. We do this first, /// // Truncate `src` without dropping its contents. We do this first,

View file

@ -1555,7 +1555,7 @@ impl<T> AtomicPtr<T> {
/// previous pointer. /// previous pointer.
/// ///
/// This is equivalent to using [`wrapping_add`] and [`cast`] to atomically /// This is equivalent to using [`wrapping_add`] and [`cast`] to atomically
/// perform `ptr = ptr.cast::<u8>().wrapping_add(val).cast::<T>()`. /// perform `ptr = ptr.wrapping_byte_add(val)`.
/// ///
/// `fetch_byte_add` takes an [`Ordering`] argument which describes the /// `fetch_byte_add` takes an [`Ordering`] argument which describes the
/// memory ordering of this operation. All ordering modes are possible. Note /// memory ordering of this operation. All ordering modes are possible. Note
@ -1592,7 +1592,7 @@ impl<T> AtomicPtr<T> {
/// previous pointer. /// previous pointer.
/// ///
/// This is equivalent to using [`wrapping_sub`] and [`cast`] to atomically /// This is equivalent to using [`wrapping_sub`] and [`cast`] to atomically
/// perform `ptr = ptr.cast::<u8>().wrapping_sub(val).cast::<T>()`. /// perform `ptr = ptr.wrapping_byte_sub(val)`.
/// ///
/// `fetch_byte_sub` takes an [`Ordering`] argument which describes the /// `fetch_byte_sub` takes an [`Ordering`] argument which describes the
/// memory ordering of this operation. All ordering modes are possible. Note /// memory ordering of this operation. All ordering modes are possible. Note