[−][src]Module rustc_mir::interpret
🔬 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
pub use const_eval::eval_promoted; |
pub use const_eval::mk_borrowck_eval_cx; |
pub use const_eval::mk_eval_cx; |
pub use const_eval::CompileTimeEvaluator; |
pub use const_eval::const_to_allocation_provider; |
pub use const_eval::const_eval_provider; |
pub use const_eval::const_field; |
pub use const_eval::const_variant_index; |
pub use const_eval::op_to_const; |
Modules
| cast |
[ Experimental ]
|
| eval_context |
[ Experimental ]
|
| intrinsics |
[ Experimental ] Intrinsics and other functions that the miri engine executes without looking at their MIR. Intrinsics/functions supported here are shared by CTFE and miri. |
| 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 ] The memory subsystem. |
| operand |
[ Experimental ] Functions concerning immediate values and operands, and reading from operands. All high-level functions to read from memory work on operands as sources. |
| operator |
[ Experimental ]
|
| place |
[ Experimental ] Computations on places -- field projections, going from mir::Place, and writing into a place. All high-level functions to write to memory work on places as destinations. |
| snapshot |
[ Experimental ] This module contains the machinery necessary to detect infinite loops during const-evaluation by taking snapshots of the state of the interpreter at regular intervals. |
| step |
[ Experimental ] This module contains the |
| terminator |
[ Experimental ]
|
| traits |
[ Experimental ]
|
| validity |
[ Experimental ]
|
Structs
| EvalContext |
[ Experimental ]
|
| Frame |
[ Experimental ] A stack frame. |
| MPlaceTy |
[ Experimental ] A MemPlace with its layout. Constructing it is only possible in this module. |
| MemPlace |
[ Experimental ]
|
| Memory |
[ Experimental ]
|
| OpTy |
[ Experimental ]
|
| PlaceTy |
[ Experimental ]
|
| ValTy |
[ Experimental ]
|
Enums
| LocalValue |
[ Experimental ]
|
| MemoryKind |
[ Experimental ]
|
| Operand |
[ Experimental ] An |
| Place |
[ Experimental ]
|
| StackPopCleanup |
[ Experimental ]
|
| Value |
[ Experimental ] A |
Traits
| Machine |
[ Experimental ] Methods of this trait signifies a point where CTFE evaluation would fail and some use case dependent behaviour can instead be applied |