std::heap::AllocErr - Rust
Description: API documentation for the Rust `AllocErr` enum in crate `std`.
Keywords: rust, rustlang, rust-lang, AllocErr

# Enum std::heap::AllocErr [−] [src]

    pub enum AllocErr {
        Exhausted {
            request: Layout,
        },
        Unsupported {
            details: &'static str,
        },
    }

🔬 This is a nightly-only experimental API. (`allocator_api` #32838)

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

The `AllocErr` error specifies whether an allocation failure is specifically due to resource exhaustion or if it is due to something wrong when combining the given input arguments with this allocator.

## Variants

`Exhausted`
🔬 This is a nightly-only experimental API. (`allocator_api` #32838)

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

Error due to hitting some resource limit or otherwise running out of memory. This condition strongly implies that some series of deallocations would allow a subsequent reissuing of the original allocation request to succeed.

### Fields of `Exhausted`

`request: Layout` | 🔬 This is a nightly-only experimental API. (`allocator_api` #32838) 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

`Unsupported`
🔬 This is a nightly-only experimental API. (`allocator_api` #32838)

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

Error due to allocator being fundamentally incapable of satisfying the original request. This condition implies that such an allocation request will never succeed on the given allocator, regardless of environment, memory pressure, or other contextual conditions.

For example, an allocator that does not support requests for large memory blocks might return this error variant.

### Fields of `Unsupported`

`details: &'static str` | 🔬 This is a nightly-only experimental API. (`allocator_api` #32838) 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

## Methods

### `impl AllocErr`
[src]

#### `fn invalid_input(details: &'static str) -> AllocErr`
[src]

🔬 This is a nightly-only experimental API. (`allocator_api` #32838)

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

#### `fn is_memory_exhausted(&self) -> bool`
[src]

🔬 This is a nightly-only experimental API. (`allocator_api` #32838)

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

#### `fn is_request_unsupported(&self) -> bool`
[src]

🔬 This is a nightly-only experimental API. (`allocator_api` #32838)

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

#### `fn description(&self) -> &str`
[src]

🔬 This is a nightly-only experimental API. (`allocator_api` #32838)

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

## Trait Implementations

### `impl PartialEq<AllocErr> for AllocErr`
[src]

#### `fn eq(&self, __arg_0: &AllocErr) -> bool`
[src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `fn ne(&self, __arg_0: &AllocErr) -> bool`
[src]

This method tests for `!=`.

### `impl Eq for AllocErr`
[src]

### `impl Display for AllocErr`
[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result<(), Error>`
[src]

Formats the value using the given formatter. Read more

### `impl Clone for AllocErr`
[src]

#### `fn clone(&self) -> AllocErr`
[src]

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`
1.0.0
[src]

Performs copy-assignment from `source`. Read more

### `impl Debug for AllocErr`
[src]

#### `fn fmt(&self, __arg_0: &mut Formatter) -> Result<(), Error>`
[src]

Formats the value using the given formatter.

### `impl Error for AllocErr`
[src]

#### `fn description(&self) -> &str`
[src]

A short description of the error. Read more

#### `fn cause(&self) -> Option<&Error>`
1.0.0
[src]

The lower-level cause of this error, if any. Read more

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