Struct rustc_infer::infer::region_constraints::leak_check::MiniGraph [−][src]
struct MiniGraph<'tcx> {
nodes: FxHashMap<Region<'tcx>, LeakCheckNode>,
sccs: Sccs<LeakCheckNode, LeakCheckScc>,
}Expand description
Represents the graph of constraints. For each R1: R2 constraint we create
an edge R1 -> R2 in the graph.
Fields
nodes: FxHashMap<Region<'tcx>, LeakCheckNode>Expand description
Map from a region to the index of the node in the graph.
sccs: Sccs<LeakCheckNode, LeakCheckScc>Expand description
Map from node index to SCC, and stores the successors of each SCC. All
the regions in the same SCC are equal to one another, and if S1 -> S2,
then S1: S2.
Implementations
impl<'tcx> MiniGraph<'tcx>[src]
impl<'tcx> MiniGraph<'tcx>[src]fn new<'a>(
tcx: TyCtxt<'tcx>,
undo_log: impl Iterator<Item = &'a UndoLog<'tcx>>,
verifys: &[Verify<'tcx>]
) -> Self where
'tcx: 'a, [src]
tcx: TyCtxt<'tcx>,
undo_log: impl Iterator<Item = &'a UndoLog<'tcx>>,
verifys: &[Verify<'tcx>]
) -> Self where
'tcx: 'a,
fn iterate_undo_log<'a>(
tcx: TyCtxt<'tcx>,
undo_log: impl Iterator<Item = &'a UndoLog<'tcx>>,
verifys: &[Verify<'tcx>],
each_edge: impl FnMut(Region<'tcx>, Region<'tcx>)
) where
'tcx: 'a, [src]
fn iterate_undo_log<'a>(
tcx: TyCtxt<'tcx>,
undo_log: impl Iterator<Item = &'a UndoLog<'tcx>>,
verifys: &[Verify<'tcx>],
each_edge: impl FnMut(Region<'tcx>, Region<'tcx>)
) where
'tcx: 'a, [src]Invokes each_edge(R1, R2) for each edge where R2: R1
fn add_node(
nodes: &mut FxHashMap<Region<'tcx>, LeakCheckNode>,
r: Region<'tcx>
) -> LeakCheckNode[src]
nodes: &mut FxHashMap<Region<'tcx>, LeakCheckNode>,
r: Region<'tcx>
) -> LeakCheckNode
Auto Trait Implementations
impl<'tcx> RefUnwindSafe for MiniGraph<'tcx>
impl<'tcx> Send for MiniGraph<'tcx>
impl<'tcx> Sync for MiniGraph<'tcx>
impl<'tcx> Unpin for MiniGraph<'tcx>
impl<'tcx> UnwindSafe for MiniGraph<'tcx>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]
fn with_const(self) -> ConstnessAnd<Self>[src]
fn without_const(self) -> ConstnessAnd<Self>[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,