Struct rustc::middle::free_region::RegionRelations
[−]
[src]
pub struct RegionRelations<'a, 'gcx: 'tcx, 'tcx: 'a> {
pub tcx: TyCtxt<'a, 'gcx, 'tcx>,
pub context: DefId,
pub region_scope_tree: &'a ScopeTree,
pub free_regions: &'a FreeRegionMap<'tcx>,
}🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Combines a region::ScopeTree (which governs relationships between
scopes) and a FreeRegionMap (which governs relationships between
free regions) to yield a complete relation between concrete
regions.
This stuff is a bit convoluted and should be refactored, but as we move to NLL it'll all go away anyhow.
Fields
tcx: TyCtxt<'a, 'gcx, 'tcx>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
context: DefId
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
context used to fetch the region maps
region_scope_tree: &'a ScopeTree
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
region maps for the given context
free_regions: &'a FreeRegionMap<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
free-region relationships
Methods
impl<'a, 'gcx, 'tcx> RegionRelations<'a, 'gcx, 'tcx>[src]
pub fn new(
tcx: TyCtxt<'a, 'gcx, 'tcx>,
context: DefId,
region_scope_tree: &'a ScopeTree,
free_regions: &'a FreeRegionMap<'tcx>
) -> Self[src]
tcx: TyCtxt<'a, 'gcx, 'tcx>,
context: DefId,
region_scope_tree: &'a ScopeTree,
free_regions: &'a FreeRegionMap<'tcx>
) -> Self
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
pub fn is_subregion_of(
&self,
sub_region: Region<'tcx>,
super_region: Region<'tcx>
) -> bool[src]
&self,
sub_region: Region<'tcx>,
super_region: Region<'tcx>
) -> bool
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Determines whether one region is a subregion of another. This is intended to run after inference and sadly the logic is somewhat duplicated with the code in infer.rs.
pub fn lub_free_regions(
&self,
r_a: Region<'tcx>,
r_b: Region<'tcx>
) -> Region<'tcx>[src]
&self,
r_a: Region<'tcx>,
r_b: Region<'tcx>
) -> Region<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?