]> git.proxmox.com Git - rustc.git/blob - compiler/rustc_const_eval/src/interpret/mod.rs
New upstream version 1.63.0+dfsg1
[rustc.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 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::{
22 Frame, FrameInfo, InterpCx, LocalState, LocalValue, StackPopCleanup, StackPopUnwind,
23 };
24 pub use self::intern::{intern_const_alloc_recursive, InternKind};
25 pub use self::machine::{compile_time_machine, AllocMap, Machine, MayLeak, StackPopJump};
26 pub use self::memory::{AllocCheck, AllocRef, AllocRefMut, FnVal, Memory, MemoryKind};
27 pub use self::operand::{ImmTy, Immediate, OpTy, Operand};
28 pub use self::place::{MPlaceTy, MemPlace, MemPlaceMeta, Place, PlaceTy};
29 pub use self::validity::{CtfeValidationMode, RefTracking};
30 pub use self::visitor::{MutValueVisitor, Value, ValueVisitor};
31
32 pub(crate) use self::intrinsics::eval_nullary_intrinsic;
33 use eval_context::{from_known_layout, mir_assign_valid_types};