]> git.lizzy.rs Git - rust.git/blob - src/librustc_mir/interpret/mod.rs
Rollup merge of #74762 - ssomers:btree_no_root_in_remove_kv_tracking, r=Mark-Simulacrum
[rust.git] / src / librustc_mir / interpret / mod.rs
1 //! An interpreter for MIR used in CTFE and by miri
2
3 mod cast;
4 mod eval_context;
5 mod intern;
6 mod intrinsics;
7 mod machine;
8 mod memory;
9 mod operand;
10 mod operator;
11 mod place;
12 mod step;
13 mod terminator;
14 mod traits;
15 mod util;
16 mod validity;
17 mod visitor;
18
19 pub use rustc_middle::mir::interpret::*; // have all the `interpret` symbols in one place: here
20
21 pub use self::eval_context::{Frame, InterpCx, LocalState, LocalValue, StackPopCleanup};
22 pub use self::intern::{intern_const_alloc_recursive, InternKind};
23 pub use self::machine::{compile_time_machine, AllocMap, Machine, MayLeak, StackPopJump};
24 pub use self::memory::{get_static, AllocCheck, FnVal, Memory, MemoryKind};
25 pub use self::operand::{ImmTy, Immediate, OpTy, Operand};
26 pub use self::place::{MPlaceTy, MemPlace, MemPlaceMeta, Place, PlaceTy};
27 pub use self::validity::RefTracking;
28 pub use self::visitor::{MutValueVisitor, ValueVisitor};
29
30 crate use self::intrinsics::eval_nullary_intrinsic;
31 use eval_context::{from_known_layout, mir_assign_valid_types};