Struct rustc_infer::infer::free_regions::FreeRegionMap [−][src]
pub struct FreeRegionMap<'tcx> {
relation: TransitiveRelation<Region<'tcx>>,
}
Fields
relation: TransitiveRelation<Region<'tcx>>
Implementations
Tests whether r_a <= r_b
.
Both regions must meet is_free_or_static
.
Subtle: one tricky case that this code gets correct is as
follows. If we know that r_b: 'static
, then this function
will return true, even though we don’t know anything that
directly relates r_a
and r_b
.
Check whether r_a <= r_b
is found in the relation.
True if r
is a free region or static of the sort that this
free region map can be used with.
Computes the least-upper-bound of two free regions. In some
cases, this is more conservative than necessary, in order to
avoid making arbitrary choices. See
TransitiveRelation::postdom_upper_bound
for more details.
Trait Implementations
Returns the “default value” for a type. Read more
type Lifted = FreeRegionMap<'tcx>
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for FreeRegionMap<'tcx>
impl<'tcx> Send for FreeRegionMap<'tcx>
impl<'tcx> !Sync for FreeRegionMap<'tcx>
impl<'tcx> Unpin for FreeRegionMap<'tcx>
impl<'tcx> UnwindSafe for FreeRegionMap<'tcx>
Blanket Implementations
Mutably borrows from an owned value. Read more
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 128 bytes