fn upper_bounds(
        &'a mut self,
        scc0: ConstraintSccIndex,
        rev_constraint_graph: &'a VecGraph<ConstraintSccIndex>,
    ) -> impl Iterator<Item = RegionVid> + 'a {
        let scc_values = &self.scc_values;
        let mut duplicates = FxHashSet::default();
        rev_constraint_graph
            .depth_first_search(scc0)
            .skip(1)
            .flat_map(move |scc1| scc_values.universal_regions_outlived_by(scc1))
            .filter(move |&r| duplicates.insert(r))
    }
/// Compute and return the reverse SCC-based constraint graph (lazilly).
Compute and return the reverse SCC-based constraint graph (lazilly).
Compute and return the reverse SCC - based constraint graph ( lazilly ) .
fn upper_bounds(
        &'a mut self,
        scc0: ConstraintSccIndex,
        rev_constraint_graph: &'a VecGraph<ConstraintSccIndex>,
    ) -> impl Iterator<Item = RegionVid> + 'a {
        let scc_values = &self.scc_values;
        let mut duplicates = FxHashSet::default();
        rev_constraint_graph
            .depth_first_search(scc0)
            .skip(1)
            .flat_map(move |scc1| scc_values.universal_regions_outlived_by(scc1))
            .filter(move |&r| duplicates.insert(r))
    }
fn upper_bounds ( & ' a mut self , scc0 : ConstraintSccIndex , rev_constraint_graph : & ' a VecGraph < ConstraintSccIndex > , ) -> impl Iterator < Item = RegionVid > + ' a { let scc_values = & self . scc_values ; let mut duplicates = FxHashSet :: default ( ) ; rev_constraint_graph . depth_first_search ( scc0 ) . skip ( 1 ) . flat_map ( move | scc1 | scc_values . universal_regions_outlived_by ( scc1 ) ) . filter ( move | & r | duplicates . insert ( r ) ) }
Compute and return the reverse SCC-based constraint graph (lazilly).
Compute and return the reverse SCC - based constraint graph ( lazilly ) .
&'a mut self
scc0
ConstraintSccIndex
rev_constraint_graph
&'a VecGraph<ConstraintSccIndex>