[][src]Macro rustc::arena_types

macro_rules! arena_types {
    ($macro:path, $args:tt, $tcx:lifetime) => { ... };
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

This declares a list of types which can be allocated by Arena.

The few modifier will cause allocation to use the shared arena and recording the destructor. This is faster and more memory efficient if there's only a few allocations of the type. Leaving few out will cause the type to get its own dedicated TypedArena which is faster and more memory efficient if there is lots of allocations.

Specifying the decode modifier will add decode impls for &T and &[T] where T is the type listed. These impls will appear in the implement_ty_decoder! macro.