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

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

🔬 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.

If the operation succeeds, it returns `usable_size(size, align)` and if it fails (or is a no-op) it returns `usable_size(old_size, align)`.

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`)