]> git.lizzy.rs Git - rust.git/blob - src/librustc_mir/interpret/mod.rs
Auto merge of #53830 - davidtwco:issue-53228, r=nikomatsakis
[rust.git] / src / librustc_mir / interpret / mod.rs
1 // Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 //! An interpreter for MIR used in CTFE and by miri
12
13 mod cast;
14 mod eval_context;
15 mod place;
16 mod operand;
17 mod machine;
18 mod memory;
19 mod operator;
20 mod snapshot;
21 mod step;
22 mod terminator;
23 mod traits;
24 mod validity;
25 mod intrinsics;
26
27 pub use self::eval_context::{
28     EvalContext, Frame, StackPopCleanup, LocalValue,
29 };
30
31 pub use self::place::{Place, PlaceTy, MemPlace, MPlaceTy};
32
33 pub use self::memory::{Memory, MemoryKind};
34
35 pub use self::machine::Machine;
36
37 pub use self::operand::{Value, ValTy, Operand, OpTy};
38
39 // reexports for compatibility
40 pub use const_eval::{
41     eval_promoted,
42     mk_borrowck_eval_cx,
43     mk_eval_cx,
44     CompileTimeEvaluator,
45     const_to_allocation_provider,
46     const_eval_provider,
47     const_field,
48     const_variant_index,
49     op_to_const,
50 };