]> git.proxmox.com Git - rustc.git/blame - compiler/rustc_const_eval/src/interpret/mod.rs
New upstream version 1.57.0+dfsg1
[rustc.git] / compiler / rustc_const_eval / src / interpret / mod.rs
CommitLineData
ff7c6d11
XL
1//! An interpreter for MIR used in CTFE and by miri
2
3mod cast;
ff7c6d11 4mod eval_context;
dfeec247
XL
5mod intern;
6mod intrinsics;
ff7c6d11
XL
7mod machine;
8mod memory;
dfeec247 9mod operand;
ff7c6d11 10mod operator;
dfeec247 11mod place;
ff7c6d11
XL
12mod step;
13mod terminator;
14mod traits;
3dfed10e 15mod util;
b7449926 16mod validity;
a1dfa0c6 17mod visitor;
b7449926 18
ba9703b0 19pub use rustc_middle::mir::interpret::*; // have all the `interpret` symbols in one place: here
0bf4aa26 20
17df50a5
XL
21pub use self::eval_context::{
22 Frame, FrameInfo, InterpCx, LocalState, LocalValue, StackPopCleanup, StackPopUnwind,
23};
ba9703b0 24pub use self::intern::{intern_const_alloc_recursive, InternKind};
f9f354fc 25pub use self::machine::{compile_time_machine, AllocMap, Machine, MayLeak, StackPopJump};
17df50a5 26pub use self::memory::{AllocCheck, AllocRef, AllocRefMut, FnVal, Memory, MemoryKind};
ba9703b0
XL
27pub use self::operand::{ImmTy, Immediate, OpTy, Operand};
28pub use self::place::{MPlaceTy, MemPlace, MemPlaceMeta, Place, PlaceTy};
29967ef6 29pub use self::validity::{CtfeValidationMode, RefTracking};
ba9703b0 30pub use self::visitor::{MutValueVisitor, ValueVisitor};
e1599b0c
XL
31
32crate use self::intrinsics::eval_nullary_intrinsic;
ba9703b0 33use eval_context::{from_known_layout, mir_assign_valid_types};