alloc::heap::reallocate - Rust
Description: API documentation for the Rust `reallocate` fn in crate `alloc`.
Keywords: rust, rustlang, rust-lang, reallocate

# Function alloc::heap::reallocate [−] [src]

    pub unsafe fn reallocate(ptr: *mut u8,
                             old_size: usize,
                             size: usize,
                             align: usize)
                             -> *mut u8

🔬 This is a nightly-only experimental API. (`heap_api` #27700)

the precise API and guarantees it provides may be tweaked slightly, especially to possibly take into account the types being stored to make room for a future tracing garbage collector

Resize the allocation referenced by `ptr` to `size` bytes.

On failure, return a null pointer and leave the original allocation intact.

If the allocation was relocated, the memory at the passed-in pointer is undefined after the call.

Behavior is undefined if the requested size is 0 or the alignment is not a power of 2. The alignment must be no larger than the largest supported page size on the platform.

The `old_size` and `align` parameters are the parameters that were used to create the allocation referenced by `ptr`. The `old_size` parameter may be any value in range_inclusive(requested_size, usable_size).

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result
+
  Collapse/expand all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)