Trait rustc_mir::borrow_check::nll::region_infer::dfs::DfsOp [−][src]
trait DfsOp { type Early; fn start_point(&self) -> Location; fn source_region_contains(
&mut self,
point_index: RegionElementIndex
) -> bool; fn add_to_target_region(
&mut self,
point_index: RegionElementIndex
) -> Result<bool, Self::Early>; fn add_universal_regions_outlived_by_source_to_target(
&mut self
) -> Result<bool, Self::Early>; }
🔬 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?
Customizes the operation of the dfs
function. This function is
used during inference to satisfy a R1: R2 @ P
constraint.
Associated Types
type Early
🔬 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?
If this op stops the walk early, what type does it propagate?
Required Methods
fn start_point(&self) -> Location
🔬 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 point from which to start the DFS.
fn source_region_contains(&mut self, point_index: RegionElementIndex) -> 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?
Returns true if the source region contains the given point.
fn add_to_target_region(
&mut self,
point_index: RegionElementIndex
) -> Result<bool, Self::Early>
&mut self,
point_index: RegionElementIndex
) -> Result<bool, Self::Early>
🔬 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?
Adds the given point to the target region, returning true if
something has changed. Returns Err
if we should abort the
walk early.
fn add_universal_regions_outlived_by_source_to_target(
&mut self
) -> Result<bool, Self::Early>
&mut self
) -> Result<bool, Self::Early>
🔬 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?
Adds all universal regions in the source region to the target region, returning true if something has changed.
Implementors
impl<'v> DfsOp for CopyFromSourceToTarget<'v> type Early = !;
impl<'v, 'tcx> DfsOp for TestTargetOutlivesSource<'v, 'tcx> type Early = RegionElementIndex;