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 rustc::mir::interpret::EvalResult;
use rustc::mir::interpret::EvalErrorKind;
use rustc::ty::Ty;
use rustc::ty::TyCtxt;
use rustc::ty::ParamEnv;

Modules

cast [
Experimental
]
const_eval [
Experimental
]
eval_context [
Experimental
]
machine [
Experimental
]

This module contains everything needed to instantiate an interpreter. This separation exists to ensure that no fancy miri features like interpreting common C functions leak into CTFE.

memory [
Experimental
]
operator [
Experimental
]
place [
Experimental
]
step [
Experimental
]

This module contains the EvalContext methods for executing a single step of the interpreter.

terminator [
Experimental
]
traits [
Experimental
]

Structs

CompileTimeEvaluator [
Experimental
]
EvalContext [
Experimental
]
Frame [
Experimental
]

A stack frame.

Memory [
Experimental
]
TyAndPacked [
Experimental
]
ValTy [
Experimental
]

Enums

MemoryKind [
Experimental
]
Place [
Experimental
]
PlaceExtra [
Experimental
]
StackPopCleanup [
Experimental
]

Traits

HasMemory [
Experimental
]
Machine [
Experimental
]

Methods of this trait signifies a point where CTFE evaluation would fail and some use case dependent behaviour can instead be applied

Functions

const_eval_provider [
Experimental
]
const_val_field [
Experimental
]
const_variant_index [
Experimental
]
eval_body [
Experimental
]
eval_promoted [
Experimental
]
mk_borrowck_eval_cx [
Experimental
]
read_target_uint [
Experimental
]
sign_extend [
Experimental
]
truncate [
Experimental
]
write_target_int [
Experimental
]
write_target_uint [
Experimental
]