Struct rustc_mir::borrow_check::nll::universal_regions::UniversalRegionsBuilder [−][src]
struct UniversalRegionsBuilder<'cx, 'gcx: 'tcx, 'tcx: 'cx> { infcx: &'cx InferCtxt<'cx, 'gcx, 'tcx>, mir_def_id: DefId, mir_hir_id: HirId, mir_node_id: NodeId, param_env: ParamEnv<'tcx>, region_bound_pairs: Vec<(Region<'tcx>, GenericKind<'tcx>)>, relations: UniversalRegionRelations, }
🔬 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?
Fields
infcx: &'cx InferCtxt<'cx, '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?
mir_def_id: 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?
mir_hir_id: HirId
🔬 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?
mir_node_id: NodeId
🔬 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?
param_env: ParamEnv<'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?
region_bound_pairs: Vec<(Region<'tcx>, GenericKind<'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?
relations: UniversalRegionRelations
🔬 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?
Methods
impl<'cx, 'gcx, 'tcx> UniversalRegionsBuilder<'cx, 'gcx, 'tcx>
[src]
impl<'cx, 'gcx, 'tcx> UniversalRegionsBuilder<'cx, 'gcx, 'tcx>
fn build(self) -> UniversalRegions<'tcx>
[src]
fn build(self) -> UniversalRegions<'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?
fn defining_ty(&self) -> DefiningTy<'tcx>
[src]
fn defining_ty(&self) -> DefiningTy<'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?
Returns the "defining type" of the current MIR;
see DefiningTy
for details.
fn compute_indices(
&self,
fr_static: RegionVid,
defining_ty: DefiningTy<'tcx>
) -> UniversalRegionIndices<'tcx>
[src]
fn compute_indices(
&self,
fr_static: RegionVid,
defining_ty: DefiningTy<'tcx>
) -> UniversalRegionIndices<'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?
Builds a hashmap that maps from the universal regions that are
in scope (as a ty::Region<'tcx>
) to their indices (as a
RegionVid
). The map returned by this function contains only
the early-bound regions.
fn compute_inputs_and_output(
&self,
indices: &UniversalRegionIndices<'tcx>,
defining_ty: DefiningTy<'tcx>
) -> Binder<&'tcx Slice<Ty<'tcx>>>
[src]
fn compute_inputs_and_output(
&self,
indices: &UniversalRegionIndices<'tcx>,
defining_ty: DefiningTy<'tcx>
) -> Binder<&'tcx Slice<Ty<'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?
fn add_implied_bounds(
&mut self,
indices: &UniversalRegionIndices<'tcx>,
ty: Ty<'tcx>
)
[src]
fn add_implied_bounds(
&mut self,
indices: &UniversalRegionIndices<'tcx>,
ty: Ty<'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?
Update the type of a single local, which should represent either the return type of the MIR or one of its arguments. At the same time, compute and add any implied bounds that come from this local.
Assumes that universal_regions
indices map is fully constructed.
fn add_outlives_bounds<I>(
&mut self,
indices: &UniversalRegionIndices<'tcx>,
outlives_bounds: I
) where
I: IntoIterator<Item = OutlivesBound<'tcx>>,
[src]
fn add_outlives_bounds<I>(
&mut self,
indices: &UniversalRegionIndices<'tcx>,
outlives_bounds: I
) where
I: IntoIterator<Item = OutlivesBound<'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?
Registers the OutlivesBound
items from outlives_bounds
in
the outlives relation as well as the region-bound pairs
listing.
Auto Trait Implementations
impl<'cx, 'gcx, 'tcx> !Send for UniversalRegionsBuilder<'cx, 'gcx, 'tcx>
impl<'cx, 'gcx, 'tcx> !Send for UniversalRegionsBuilder<'cx, 'gcx, 'tcx>
impl<'cx, 'gcx, 'tcx> !Sync for UniversalRegionsBuilder<'cx, 'gcx, 'tcx>
impl<'cx, 'gcx, 'tcx> !Sync for UniversalRegionsBuilder<'cx, 'gcx, 'tcx>