Struct rustc::infer::lexical_region_resolve::LexicalResolver [−][src]
struct LexicalResolver<'cx, 'gcx: 'tcx, 'tcx: 'cx> {
region_rels: &'cx RegionRelations<'cx, 'gcx, 'tcx>,
var_infos: VarInfos,
data: RegionConstraintData<'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?
Fields
region_rels: &'cx RegionRelations<'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?
var_infos: VarInfos
🔬 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?
data: RegionConstraintData<'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?
Methods
impl<'cx, 'gcx, 'tcx> LexicalResolver<'cx, 'gcx, 'tcx>[src]
impl<'cx, 'gcx, 'tcx> LexicalResolver<'cx, 'gcx, 'tcx>fn infer_variable_values(
&mut self,
errors: &mut Vec<RegionResolutionError<'tcx>>
) -> LexicalRegionResolutions<'tcx>[src]
fn infer_variable_values(
&mut self,
errors: &mut Vec<RegionResolutionError<'tcx>>
) -> LexicalRegionResolutions<'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 num_vars(&self) -> usize[src]
fn num_vars(&self) -> usize🔬 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 construct_var_data(
&self,
tcx: TyCtxt<'_, '_, 'tcx>
) -> LexicalRegionResolutions<'tcx>[src]
fn construct_var_data(
&self,
tcx: TyCtxt<'_, '_, 'tcx>
) -> LexicalRegionResolutions<'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?
Initially, the value for all variables is set to 'empty, the
empty region. The expansion phase will grow this larger.
fn dump_constraints(&self, free_regions: &RegionRelations<'_, '_, 'tcx>)[src]
fn dump_constraints(&self, free_regions: &RegionRelations<'_, '_, '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 expand_givens(&mut self, graph: &Graph<(), Constraint<'tcx>>)[src]
fn expand_givens(&mut self, graph: &Graph<(), Constraint<'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 expansion(&self, var_values: &mut LexicalRegionResolutions<'tcx>)[src]
fn expansion(&self, var_values: &mut LexicalRegionResolutions<'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 expand_node(
&self,
a_region: Region<'tcx>,
b_vid: RegionVid,
b_data: &mut VarValue<'tcx>
) -> bool[src]
fn expand_node(
&self,
a_region: Region<'tcx>,
b_vid: RegionVid,
b_data: &mut VarValue<'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?
fn lub_concrete_regions(&self, a: Region<'tcx>, b: Region<'tcx>) -> Region<'tcx>[src]
fn lub_concrete_regions(&self, a: Region<'tcx>, 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?
fn collect_errors(
&self,
var_data: &mut LexicalRegionResolutions<'tcx>,
errors: &mut Vec<RegionResolutionError<'tcx>>
)[src]
fn collect_errors(
&self,
var_data: &mut LexicalRegionResolutions<'tcx>,
errors: &mut Vec<RegionResolutionError<'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?
After expansion is complete, go and check upper bounds (i.e., cases where the region cannot grow larger than a fixed point) and check that they are satisfied.
fn collect_var_errors(
&self,
var_data: &LexicalRegionResolutions<'tcx>,
graph: &Graph<(), Constraint<'tcx>>,
errors: &mut Vec<RegionResolutionError<'tcx>>
)[src]
fn collect_var_errors(
&self,
var_data: &LexicalRegionResolutions<'tcx>,
graph: &Graph<(), Constraint<'tcx>>,
errors: &mut Vec<RegionResolutionError<'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?
Go over the variables that were declared to be error variables
and create a RegionResolutionError for each of them.
fn construct_graph(&self) -> Graph<(), Constraint<'tcx>>[src]
fn construct_graph(&self) -> Graph<(), Constraint<'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 collect_error_for_expanding_node(
&self,
graph: &Graph<(), Constraint<'tcx>>,
dup_vec: &mut [u32],
node_idx: RegionVid,
errors: &mut Vec<RegionResolutionError<'tcx>>
)[src]
fn collect_error_for_expanding_node(
&self,
graph: &Graph<(), Constraint<'tcx>>,
dup_vec: &mut [u32],
node_idx: RegionVid,
errors: &mut Vec<RegionResolutionError<'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 collect_concrete_regions(
&self,
graph: &Graph<(), Constraint<'tcx>>,
orig_node_idx: RegionVid,
dir: Direction,
dup_vec: &mut [u32]
) -> (Vec<RegionAndOrigin<'tcx>>, bool)[src]
fn collect_concrete_regions(
&self,
graph: &Graph<(), Constraint<'tcx>>,
orig_node_idx: RegionVid,
dir: Direction,
dup_vec: &mut [u32]
) -> (Vec<RegionAndOrigin<'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?
fn iterate_until_fixed_point<F>(&self, tag: &str, body: F) where
F: FnMut(&Constraint<'tcx>, &SubregionOrigin<'tcx>) -> bool, [src]
fn iterate_until_fixed_point<F>(&self, tag: &str, body: F) where
F: FnMut(&Constraint<'tcx>, &SubregionOrigin<'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?
fn bound_is_met(
&self,
bound: &VerifyBound<'tcx>,
var_values: &LexicalRegionResolutions<'tcx>,
min: Region<'tcx>
) -> bool[src]
fn bound_is_met(
&self,
bound: &VerifyBound<'tcx>,
var_values: &LexicalRegionResolutions<'tcx>,
min: 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?
Auto Trait Implementations
impl<'cx, 'gcx, 'tcx> !Send for LexicalResolver<'cx, 'gcx, 'tcx>
impl<'cx, 'gcx, 'tcx> !Send for LexicalResolver<'cx, 'gcx, 'tcx>impl<'cx, 'gcx, 'tcx> !Sync for LexicalResolver<'cx, 'gcx, 'tcx>
impl<'cx, 'gcx, 'tcx> !Sync for LexicalResolver<'cx, 'gcx, 'tcx>