use rustc_index::bit_set::BitSet;
use rustc_index::vec::Idx;
use rustc_middle::mir::{self, Body, Location};
-use rustc_middle::ty::layout::VariantIdx;
use rustc_middle::ty::{self, TyCtxt};
+use rustc_target::abi::VariantIdx;
use super::MoveDataParamEnv;
use crate::dataflow::drop_flag_effects;
mod borrowed_locals;
+pub(super) mod borrows;
+mod liveness;
mod storage_liveness;
-pub use self::borrowed_locals::*;
-pub use self::storage_liveness::*;
-
-pub(super) mod borrows;
+pub use self::borrowed_locals::{MaybeBorrowedLocals, MaybeMutBorrowedLocals};
+pub use self::borrows::Borrows;
+pub use self::liveness::MaybeLiveLocals;
+pub use self::storage_liveness::{MaybeRequiresStorage, MaybeStorageLive};
/// `MaybeInitializedPlaces` tracks all places that might be
/// initialized upon reaching a particular point in the control flow