rustc_mir_dataflow/
lib.rs

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