rustc_mir_dataflow/
lib.rs

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