]> git.lizzy.rs Git - rust.git/blob - compiler/rustc_const_eval/src/interpret/mod.rs
Auto merge of #98246 - joshtriplett:times, r=m-ou-se
[rust.git] / compiler / rustc_const_eval / src / 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 projection;
13 mod step;
14 mod terminator;
15 mod traits;
16 mod util;
17 mod validity;
18 mod visitor;
19
20 pub use rustc_middle::mir::interpret::*; // have all the `interpret` symbols in one place: here
21
22 pub use self::eval_context::{
23     Frame, FrameInfo, InterpCx, LocalState, LocalValue, StackPopCleanup, StackPopUnwind,
24 };
25 pub use self::intern::{intern_const_alloc_recursive, InternKind};
26 pub use self::machine::{compile_time_machine, AllocMap, Machine, MayLeak, StackPopJump};
27 pub use self::memory::{AllocKind, AllocRef, AllocRefMut, FnVal, Memory, MemoryKind};
28 pub use self::operand::{ImmTy, Immediate, OpTy, Operand};
29 pub use self::place::{MPlaceTy, MemPlace, MemPlaceMeta, Place, PlaceTy};
30 pub use self::validity::{CtfeValidationMode, RefTracking};
31 pub use self::visitor::{MutValueVisitor, Value, ValueVisitor};
32
33 pub(crate) use self::intrinsics::eval_nullary_intrinsic;
34 use eval_context::{from_known_layout, mir_assign_valid_types};