Struct rustc_mir::borrow_check::nll::type_check::liveness::TypeLivenessGenerator [−][src]
struct TypeLivenessGenerator<'gen, 'typeck, 'flow, 'gcx, 'tcx> where
'typeck: 'gen,
'flow: 'gen,
'tcx: 'typeck + 'flow,
'gcx: 'tcx, { cx: &'gen mut TypeChecker<'typeck, 'gcx, 'tcx>, tcx: TyCtxt<'typeck, 'gcx, 'tcx>, mir: &'gen Mir<'tcx>, liveness: &'gen LivenessResults, flow_inits: &'gen mut FlowAtLocation<MaybeInitializedPlaces<'flow, 'gcx, 'tcx>>, move_data: &'gen MoveData<'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
cx: &'gen mut TypeChecker<'typeck, '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?
tcx: TyCtxt<'typeck, '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?
mir: &'gen Mir<'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?
liveness: &'gen LivenessResults
🔬 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?
flow_inits: &'gen mut FlowAtLocation<MaybeInitializedPlaces<'flow, '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?
move_data: &'gen MoveData<'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<'gen, 'typeck, 'flow, 'gcx, 'tcx> TypeLivenessGenerator<'gen, 'typeck, 'flow, 'gcx, 'tcx>
[src]
impl<'gen, 'typeck, 'flow, 'gcx, 'tcx> TypeLivenessGenerator<'gen, 'typeck, 'flow, 'gcx, 'tcx>
fn add_liveness_constraints(&mut self, bb: BasicBlock)
[src]
fn add_liveness_constraints(&mut self, bb: BasicBlock)
🔬 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?
Liveness constraints:
If a variable V is live at point P, then all regions R in the type of V must include the point P.
fn push_type_live_constraint<T>(
&mut self,
value: T,
location: Location,
cause: Cause
) where
T: TypeFoldable<'tcx>,
[src]
fn push_type_live_constraint<T>(
&mut self,
value: T,
location: Location,
cause: Cause
) where
T: TypeFoldable<'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?
Some variable with type live_ty
is "regular live" at
location
-- i.e., it may be used later. This means that all
regions appearing in the type live_ty
must be live at
location
.
fn add_drop_live_constraint(
&mut self,
dropped_local: Local,
dropped_ty: Ty<'tcx>,
location: Location
)
[src]
fn add_drop_live_constraint(
&mut self,
dropped_local: Local,
dropped_ty: Ty<'tcx>,
location: 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?
Some variable with type live_ty
is "drop live" at location
-- i.e., it may be dropped later. This means that some of
the regions in its type must be live at location
. The
precise set will depend on the dropck constraints, and in
particular this takes #[may_dangle]
into account.
Auto Trait Implementations
impl<'gen, 'typeck, 'flow, 'gcx, 'tcx> !Send for TypeLivenessGenerator<'gen, 'typeck, 'flow, 'gcx, 'tcx>
impl<'gen, 'typeck, 'flow, 'gcx, 'tcx> !Send for TypeLivenessGenerator<'gen, 'typeck, 'flow, 'gcx, 'tcx>
impl<'gen, 'typeck, 'flow, 'gcx, 'tcx> !Sync for TypeLivenessGenerator<'gen, 'typeck, 'flow, 'gcx, 'tcx>
impl<'gen, 'typeck, 'flow, 'gcx, 'tcx> !Sync for TypeLivenessGenerator<'gen, 'typeck, 'flow, 'gcx, 'tcx>