about summary refs log tree commit diff
path: root/src/libcore
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-08-06 08:17:48 +0200
committerGitHub <noreply@github.com>2019-08-06 08:17:48 +0200
commitd7b49a8a85442bc190cb26d23d28e2df2605d491 (patch)
treea0859bbe8b061d07ee149f6829d36e811ef9166b /src/libcore
parent000d646424304ca066297b4f65222c093592d555 (diff)
parent1f018636e35018bbd3f83de8da68ec50669cd646 (diff)
downloadrust-d7b49a8a85442bc190cb26d23d28e2df2605d491.tar.gz
rust-d7b49a8a85442bc190cb26d23d28e2df2605d491.zip
Rollup merge of #63295 - RalfJung:align_offset, r=dtolnay
improve align_offset docs

Cc @shepmaster
Diffstat (limited to 'src/libcore')
-rw-r--r--src/libcore/ptr/mod.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/libcore/ptr/mod.rs b/src/libcore/ptr/mod.rs
index 0ec4dd47b1f..fa55bbf9c16 100644
--- a/src/libcore/ptr/mod.rs
+++ b/src/libcore/ptr/mod.rs
@@ -1606,10 +1606,12 @@ impl<T: ?Sized> *const T {
     /// `align`.
     ///
     /// If it is not possible to align the pointer, the implementation returns
-    /// `usize::max_value()`.
+    /// `usize::max_value()`. It is permissible for the implementation to *always*
+    /// return `usize::max_value()`. Only your algorithm's performance can depend
+    /// on getting a usable offset here, not its correctness.
     ///
     /// The offset is expressed in number of `T` elements, and not bytes. The value returned can be
-    /// used with the `add` method.
+    /// used with the `wrapping_add` method.
     ///
     /// There are no guarantees whatsoever that offsetting the pointer will not overflow or go
     /// beyond the allocation that the pointer points into. It is up to the caller to ensure that
@@ -2407,10 +2409,12 @@ impl<T: ?Sized> *mut T {
     /// `align`.
     ///
     /// If it is not possible to align the pointer, the implementation returns
-    /// `usize::max_value()`.
+    /// `usize::max_value()`. It is permissible for the implementation to *always*
+    /// return `usize::max_value()`. Only your algorithm's performance can depend
+    /// on getting a usable offset here, not its correctness.
     ///
     /// The offset is expressed in number of `T` elements, and not bytes. The value returned can be
-    /// used with the `add` method.
+    /// used with the `wrapping_add` method.
     ///
     /// There are no guarantees whatsoever that offsetting the pointer will not overflow or go
     /// beyond the allocation that the pointer points into. It is up to the caller to ensure that