diff options
| author | Jacob Pratt <jacob@jhpratt.dev> | 2025-03-16 21:47:42 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-16 21:47:42 -0400 |
| commit | feb6cb413246ce9132fbd2a3e5c5f4fa05c94d7e (patch) | |
| tree | 2a152560ea82448e6febdd466ac9e1e861146ea9 | |
| parent | c7700406f4536d0dd0376483584c24e439aa139a (diff) | |
| parent | 8156e062ee12f091e128db23f09d196cd028edc1 (diff) | |
| download | rust-feb6cb413246ce9132fbd2a3e5c5f4fa05c94d7e.tar.gz rust-feb6cb413246ce9132fbd2a3e5c5f4fa05c94d7e.zip | |
Rollup merge of #136359 - hkBst:ptr_copy_docs, r=Amanieu
doc all differences of ptr:copy(_nonoverlapping) with memcpy and memmove Fixes #79430
| -rw-r--r-- | library/core/src/intrinsics/mod.rs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/library/core/src/intrinsics/mod.rs b/library/core/src/intrinsics/mod.rs index 078f7552c87..cf03c07b6a5 100644 --- a/library/core/src/intrinsics/mod.rs +++ b/library/core/src/intrinsics/mod.rs @@ -3641,7 +3641,8 @@ pub const fn ptr_metadata<P: ptr::Pointee<Metadata = M> + ?Sized, M>(ptr: *const /// For regions of memory which might overlap, use [`copy`] instead. /// /// `copy_nonoverlapping` is semantically equivalent to C's [`memcpy`], but -/// with the argument order swapped. +/// with the source and destination arguments swapped, +/// and `count` counting the number of `T`s instead of bytes. /// /// The copy is "untyped" in the sense that data may be uninitialized or otherwise violate the /// requirements of `T`. The initialization state is preserved exactly. @@ -3761,8 +3762,10 @@ pub const unsafe fn copy_nonoverlapping<T>(src: *const T, dst: *mut T, count: us /// If the source and destination will *never* overlap, /// [`copy_nonoverlapping`] can be used instead. /// -/// `copy` is semantically equivalent to C's [`memmove`], but with the argument -/// order swapped. Copying takes place as if the bytes were copied from `src` +/// `copy` is semantically equivalent to C's [`memmove`], but +/// with the source and destination arguments swapped, +/// and `count` counting the number of `T`s instead of bytes. +/// Copying takes place as if the bytes were copied from `src` /// to a temporary array and then copied from the array to `dst`. /// /// The copy is "untyped" in the sense that data may be uninitialized or otherwise violate the |
