2017-12-12 16:14:49 +00:00
|
|
|
//! An interpreter for MIR used in CTFE and by miri
|
|
|
|
|
|
|
|
mod cast;
|
|
|
|
mod eval_context;
|
2018-08-13 14:14:22 +00:00
|
|
|
mod intern;
|
2018-08-23 17:04:33 +00:00
|
|
|
mod intrinsics;
|
2017-12-12 16:14:49 +00:00
|
|
|
mod machine;
|
|
|
|
mod memory;
|
|
|
|
mod operand;
|
|
|
|
mod operator;
|
|
|
|
mod place;
|
|
|
|
mod step;
|
|
|
|
mod terminator;
|
|
|
|
mod traits;
|
2020-07-24 12:16:54 +00:00
|
|
|
mod util;
|
2018-08-17 10:18:02 +00:00
|
|
|
mod validity;
|
2022-04-05 14:33:42 +00:00
|
|
|
pub(crate) mod visitor;
|
2017-12-12 16:14:49 +00:00
|
|
|
|
2020-03-29 14:41:09 +00:00
|
|
|
pub use rustc_middle::mir::interpret::*; // have all the `interpret` symbols in one place: here
|
2018-10-16 12:50:07 +00:00
|
|
|
|
2021-05-21 12:40:36 +00:00
|
|
|
pub use self::eval_context::{
|
|
|
|
Frame, FrameInfo, InterpCx, LocalState, LocalValue, StackPopCleanup, StackPopUnwind,
|
|
|
|
};
|
2020-03-29 13:43:36 +00:00
|
|
|
pub use self::intern::{intern_const_alloc_recursive, InternKind};
|
2020-04-27 17:01:30 +00:00
|
|
|
pub use self::machine::{compile_time_machine, AllocMap, Machine, MayLeak, StackPopJump};
|
2021-05-16 16:53:20 +00:00
|
|
|
pub use self::memory::{AllocCheck, AllocRef, AllocRefMut, FnVal, Memory, MemoryKind};
|
2020-03-29 13:43:36 +00:00
|
|
|
pub use self::operand::{ImmTy, Immediate, OpTy, Operand};
|
|
|
|
pub use self::place::{MPlaceTy, MemPlace, MemPlaceMeta, Place, PlaceTy};
|
2020-10-25 10:12:19 +00:00
|
|
|
pub use self::validity::{CtfeValidationMode, RefTracking};
|
2020-03-29 13:43:36 +00:00
|
|
|
pub use self::visitor::{MutValueVisitor, ValueVisitor};
|
2019-06-07 17:22:42 +00:00
|
|
|
|
|
|
|
crate use self::intrinsics::eval_nullary_intrinsic;
|
2020-03-29 13:43:36 +00:00
|
|
|
use eval_context::{from_known_layout, mir_assign_valid_types};
|