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

🔬 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

🔬 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.

🔬 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.

🔬 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.

🔬 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