logo

Function std::alloc::set_alloc_error_hook

source ·
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

AltStyle によって変換されたページ (->オリジナル) /