diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-04-01 12:07:05 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-01 12:07:05 +0200 |
| commit | a92286f9c92d7dc6189bf56c8fa0487bb51d2298 (patch) | |
| tree | a7970727498950f449826e42bc65af553eefaec9 | |
| parent | b81d235974911be790ae75ecab72bb3a8d2a85d6 (diff) | |
| parent | e2466821add3873d1feb0cc28f3b31e7cf1629fd (diff) | |
| download | rust-a92286f9c92d7dc6189bf56c8fa0487bb51d2298.tar.gz rust-a92286f9c92d7dc6189bf56c8fa0487bb51d2298.zip | |
Rollup merge of #95546 - autumnontape:allocator-realloc-align-docs, r=Amanieu
add notes about alignment-altering reallocations to Allocator docs As I said in https://github.com/rust-lang/wg-allocators/issues/97, the fact that calls to `grow`, `grow_zeroed`, and `shrink` may request altered alignments is surprising and may be a pitfall for implementors of `Allocator` if it's left implicit. This pull request adds a note to the "Safety" section of each function's docs making it explicit.
| -rw-r--r-- | library/core/src/alloc/mod.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/library/core/src/alloc/mod.rs b/library/core/src/alloc/mod.rs index 1f1033b0437..242725b96bd 100644 --- a/library/core/src/alloc/mod.rs +++ b/library/core/src/alloc/mod.rs @@ -173,6 +173,8 @@ pub unsafe trait Allocator { /// * `old_layout` must [*fit*] that block of memory (The `new_layout` argument need not fit it.). /// * `new_layout.size()` must be greater than or equal to `old_layout.size()`. /// + /// Note that `new_layout.align()` need not be the same as `old_layout.align()`. + /// /// [*currently allocated*]: #currently-allocated-memory /// [*fit*]: #memory-fitting /// @@ -234,6 +236,8 @@ pub unsafe trait Allocator { /// * `old_layout` must [*fit*] that block of memory (The `new_layout` argument need not fit it.). /// * `new_layout.size()` must be greater than or equal to `old_layout.size()`. /// + /// Note that `new_layout.align()` need not be the same as `old_layout.align()`. + /// /// [*currently allocated*]: #currently-allocated-memory /// [*fit*]: #memory-fitting /// @@ -296,6 +300,8 @@ pub unsafe trait Allocator { /// * `old_layout` must [*fit*] that block of memory (The `new_layout` argument need not fit it.). /// * `new_layout.size()` must be smaller than or equal to `old_layout.size()`. /// + /// Note that `new_layout.align()` need not be the same as `old_layout.align()`. + /// /// [*currently allocated*]: #currently-allocated-memory /// [*fit*]: #memory-fitting /// |
