Struct rustc_mir::borrow_check::nll::type_check::MirTypeckRegionConstraints [−][src]
pub(crate) struct MirTypeckRegionConstraints<'tcx> { pub(crate) liveness_set: Vec<(Region<'tcx>, Location, Cause)>, pub(crate) outlives_constraints: Vec<OutlivesConstraint>, pub(crate) type_tests: Vec<TypeTest<'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?
A collection of region constraints that must be satisfied for the program to be considered well-typed.
Fields
liveness_set: Vec<(Region<'tcx>, Location, Cause)>
🔬 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?
In general, the type-checker is not responsible for enforcing liveness constraints; this job falls to the region inferencer, which performs a liveness analysis. However, in some limited cases, the MIR type-checker creates temporary regions that do not otherwise appear in the MIR -- in particular, the late-bound regions that it instantiates at call-sites -- and hence it must report on their liveness constraints.
outlives_constraints: Vec<OutlivesConstraint>
🔬 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?
type_tests: Vec<TypeTest<'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?
Trait Implementations
impl<'tcx> Default for MirTypeckRegionConstraints<'tcx>
[src]
impl<'tcx> Default for MirTypeckRegionConstraints<'tcx>
fn default() -> MirTypeckRegionConstraints<'tcx>
[src]
fn default() -> MirTypeckRegionConstraints<'tcx>
Returns the "default value" for a type. Read more
Auto Trait Implementations
impl<'tcx> !Send for MirTypeckRegionConstraints<'tcx>
impl<'tcx> !Send for MirTypeckRegionConstraints<'tcx>
impl<'tcx> !Sync for MirTypeckRegionConstraints<'tcx>
impl<'tcx> !Sync for MirTypeckRegionConstraints<'tcx>