Enum rustc_mir::borrow_check::nll::region_infer::RegionTest[][src]

pub enum RegionTest {
    IsOutlivedByAnyRegionIn(Vec<RegionVid>),
    IsOutlivedByAllRegionsIn(Vec<RegionVid>),
    Any(Vec<RegionTest>),
    All(Vec<RegionTest>),
}
🔬 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?

A "test" that can be applied to some "subject region" 'x. These are used to describe type constraints. Tests do not presently affect the region values that get inferred for each variable; they only examine the results after inference. This means they can conveniently include disjuction ("a or b must be true").

Variants

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

The subject region 'x must by outlived by some region in the given set of regions.

This test comes from e.g. a where clause like T: 'a + 'b, which implies that we know that T: 'a and that T: 'b. Therefore, if we are trying to prove that T: 'x, we can do so by showing that 'a: 'x or 'b: 'x.

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

The subject region 'x must by outlived by all regions in the given set of regions.

This test comes from e.g. a projection type like T = <u32 as Trait<'a, 'b>>::Foo, which must outlive 'a or 'b, and maybe both. Therefore we can prove that T: 'x if we know that 'a: 'x and 'b: 'x.

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

Any of the given tests are true.

This arises from projections, for which there are multiple ways to prove an outlives relationship.

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

All of the given tests are true.

Trait Implementations

impl Clone for RegionTest
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for RegionTest
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl Send for RegionTest

impl Sync for RegionTest