Expand description

The virtual memory representation of the MIR interpreter.


The information that makes up a memory access: offset and size.

This type represents an Allocation in the Miri/CTFE core engine.

A partial, owned list of relocations to transfer into another allocation.

Interned types generally have an Outer type and an Inner type, where Outer is a newtype around Interned<Inner>, and all the operations are done on Outer, because all occurrences are interned. E.g. Ty is an outer type and TyS is its inner type.

A bitmask where each bit refers to the byte with the same index. If the bit is true, the byte is initialized. If it is false the byte is uninitialized.

Run-length encoding of the uninit mask. Used to copy parts of a mask multiple times to another allocation.

“Relocations” stores the provenance information of pointers stored in memory.


We have our own error type that does not know about the AllocId; that information is added when converting to InterpError.

A contiguous chunk of initialized or uninitialized memory.


Free-starting constructor for less syntactic overhead.

Type Definitions