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]
impl<'a, 'gcx, 'tcx> RegionRelations<'a, 'gcx, 'tcx>
pub fn new(
tcx: TyCtxt<'a, 'gcx, 'tcx>,
context: DefId,
region_scope_tree: &'a ScopeTree,
free_regions: &'a FreeRegionMap<'tcx>
) -> Self
[src]
pub fn new(
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]
pub fn is_subregion_of(
&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.
fn is_static(&self, super_region: Region<'tcx>) -> bool
[src]
fn is_static(&self, 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 this free-region is required to be 'static
pub fn lub_free_regions(
&self,
r_a: Region<'tcx>,
r_b: Region<'tcx>
) -> Region<'tcx>
[src]
pub fn lub_free_regions(
&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?
Auto Trait Implementations
impl<'a, 'gcx, 'tcx> !Send for RegionRelations<'a, 'gcx, 'tcx>
impl<'a, 'gcx, 'tcx> !Send for RegionRelations<'a, 'gcx, 'tcx>
impl<'a, 'gcx, 'tcx> !Sync for RegionRelations<'a, 'gcx, 'tcx>
impl<'a, 'gcx, 'tcx> !Sync for RegionRelations<'a, 'gcx, 'tcx>