diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2019-08-06 08:17:48 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-08-06 08:17:48 +0200 |
| commit | d7b49a8a85442bc190cb26d23d28e2df2605d491 (patch) | |
| tree | a0859bbe8b061d07ee149f6829d36e811ef9166b /src/libcore | |
| parent | 000d646424304ca066297b4f65222c093592d555 (diff) | |
| parent | 1f018636e35018bbd3f83de8da68ec50669cd646 (diff) | |
| download | rust-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.rs | 12 |
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 |
