pub fn set_alloc_error_hook(hook: fn(_: Layout))
🔬This is a nightly-only experimental API. (alloc_error_hook #51245)
Expand description

Registers a custom allocation error hook, replacing any that was previously registered.

The allocation error hook is invoked when an infallible memory allocation fails, before the runtime aborts. The default hook prints a message to standard error, but this behavior can be customized with the set_alloc_error_hook and take_alloc_error_hook functions.

The hook is provided with a Layout struct which contains information about the allocation that failed.

The allocation error hook is a global resource.

Examples

#![feature(alloc_error_hook)]

use std::alloc::{Layout, set_alloc_error_hook};

fn custom_alloc_error_hook(layout: Layout) {
   panic!("memory allocation of {} bytes failed", layout.size());
}

set_alloc_error_hook(custom_alloc_error_hook);
Run