Skip to main content

rustc_mir_dataflow/
lib.rs

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