pub (in crate::borrow_check) fn universal_upper_bound(&self, r: RegionVid) -> RegionVid {
        debug!("universal_upper_bound(r={:?}={})", r, self.region_value_str(r));

        // Find the smallest universal region that contains all other
        // universal regions within `region`.
        let mut lub = self.universal_regions.fr_fn_body;
        let r_scc = self.constraint_sccs.scc(r);
        for ur in self.scc_values.universal_regions_outlived_by(r_scc) {
            lub = self.universal_region_relations.postdom_upper_bound(lub, ur);
        }

        debug!("universal_upper_bound: r={:?} lub={:?}", r, lub);

        lub
    }
/// Returns a universally quantified region that outlives the
/// value of `r` (`r` may be existentially or universally
/// quantified).
///
/// Since `r` is (potentially) an existential region, it has some
/// value which may include (a) any number of points in the CFG
/// and (b) any number of `end('x)` elements of universally
/// quantified regions. To convert this into a single universal
/// region we do as follows:
///
/// - Ignore the CFG points in `'r`. All universally quantified regions
///   include the CFG anyhow.
/// - For each `end('x)` element in `'r`, compute the mutual LUB, yielding
///   a result `'y`.
Returns a universally quantified region that outlives the
value of `r` (`r` may be existentially or universally
quantified).

Since `r` is (potentially) an existential region, it has some
value which may include (a) any number of points in the CFG
and (b) any number of `end('x)` elements of universally
quantified regions. To convert this into a single universal
region we do as follows.

Ignore the CFG points in `'r`. All universally quantified regions
include the CFG anyhow.
Returns a universally quantified region that outlives the value of ` r ` ( ` r ` may be existentially or universally quantified ) . Since ` r ` is ( potentially ) an existential region it has some value which may include ( a ) any number of points in the CFG and ( b ) any number of ` end ( ' x ) ` elements of universally quantified regions . To convert this into a single universal region we do as follows . Ignore the CFG points in ` ' r ` . All universally quantified regions include the CFG anyhow .
pub (in crate::borrow_check) fn universal_upper_bound(&self, r: RegionVid) -> RegionVid {
        debug!("universal_upper_bound(r={:?}={})", r, self.region_value_str(r));
        // Find the smallest universal region that contains all other
        // universal regions within `region`.
        let mut lub = self.universal_regions.fr_fn_body;
        let r_scc = self.constraint_sccs.scc(r);
        for ur in self.scc_values.universal_regions_outlived_by(r_scc) {
            lub = self.universal_region_relations.postdom_upper_bound(lub, ur);
        }
        debug!("universal_upper_bound: r={:?} lub={:?}", r, lub);
        lub
    }
pub ( in crate :: borrow_check ) fn universal_upper_bound ( & self , r : RegionVid ) -> RegionVid { debug ! ( " " r self region_value_str ( r ) ) ; // Find the smallest universal region that contains all other // universal regions within `region`. let mut lub = self . universal_regions . fr_fn_body ; let r_scc = self . constraint_sccs . scc ( r ) ; for ur in self . scc_values . universal_regions_outlived_by ( r_scc ) { lub = self . universal_region_relations . postdom_upper_bound ( lub , ur ) ; } debug ! ( " " r lub ) ; lub }
Returns a universally quantified region that outlives the
value of `r` (`r` may be existentially or universally
quantified).
Returns a universally quantified region that outlives the value of ` r ` ( ` r ` may be existentially or universally quantified ) .
&self
r
RegionVid