Skip to main content

rustc_mir_dataflow/
lib.rs

1// tidy-alphabetical-start
2#![feature(associated_type_defaults)]
3#![feature(box_patterns)]
4#![feature(exact_size_is_empty)]
5#![feature(file_buffered)]
6#![feature(never_type)]
7#![feature(try_blocks)]
8// tidy-alphabetical-end
9
10use rustc_middle::ty;
11
12// Please change the public `use` directives cautiously, as they might be used by external tools.
13// See issue #120130.
14pub use self::drop_flag_effects::{
15    DropFlagState, drop_flag_effects_for_function_entry, drop_flag_effects_for_location,
16    move_path_children_matching, on_all_children_bits, on_lookup_result_bits,
17};
18pub use self::framework::{
19    Analysis, Backward, Direction, EntryStates, Forward, GenKill, JoinSemiLattice, MaybeReachable,
20    Results, ResultsCursor, ResultsVisitor, fmt, graphviz, lattice, visit_reachable_results,
21    visit_results,
22};
23use self::move_paths::MoveData;
24
25pub mod debuginfo;
26mod drop_flag_effects;
27mod errors;
28mod framework;
29pub mod impls;
30pub mod move_paths;
31pub mod points;
32pub mod rustc_peek;
33mod un_derefer;
34pub mod value_analysis;
35
36pub struct MoveDataTypingEnv<'tcx> {
37    pub move_data: MoveData<'tcx>,
38    pub typing_env: ty::TypingEnv<'tcx>,
39}