Module rustc::mir::interpret[][src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

An interpreter for MIR used in CTFE and by miri

Re-exports

use std::collections::BTreeMap;
use std::fmt;
use mir;
use hir::def_id::DefId;
use ty;
use ty::TyCtxt;
use ty::layout;
use ty::layout::Align;
use ty::layout::HasDataLayout;
use middle::region;
use std::iter;
use syntax::ast::Mutability;
use rustc_serialize::Encoder;
use rustc_serialize::Decoder;
use rustc_serialize::Decodable;
use rustc_serialize::Encodable;

Modules

error [
Experimental
]
value [
Experimental
]

Structs

AllocId [
Experimental
]
Allocation [
Experimental
]
DynamicLifetime [
Experimental
]
EvalError [
Experimental
]
GlobalId [
Experimental
]

Uniquely identifies a specific constant or static.

MemoryPointer [
Experimental
]
Pointer [
Experimental
]

A wrapper type around PrimVal that cannot be turned back into a PrimVal accidentally. This type clears up a few APIs where having a PrimVal argument for something that is potentially an integer pointer or a pointer to an allocation was unclear.

UndefMask [
Experimental
]

Enums

AccessKind [
Experimental
]
AllocKind [
Experimental
]
EvalErrorKind [
Experimental
]
Lock [
Experimental
]
PrimVal [
Experimental
]

A PrimVal represents an immediate, primitive value existing outside of a memory::Allocation. It is in many ways like a small chunk of a Allocation, up to 8 bytes in size. Like a range of bytes in an Allocation, a PrimVal can either represent the raw bytes of a simple value, a pointer into another Allocation, or be undefined.

PrimValKind [
Experimental
]
Value [
Experimental
]

A Value represents a single self-contained Rust value.

Constants

BLOCK_SIZE [
Experimental
]

Traits

PointerArithmetic [
Experimental
]

Functions

bit_index [
Experimental
]
specialized_decode_alloc_id [
Experimental
]
specialized_encode_alloc_id [
Experimental
]

Type Definitions

AssertMessage [
Experimental
]
Block [
Experimental
]
EvalResult [
Experimental
]