Struct rustc_mir::borrow_check::nll::region_infer::values::LivenessValues [−][src]
pub(crate) struct LivenessValues<N: Idx> { elements: Rc<RegionValueElements>, points: SparseBitMatrix<N, PointIndex>, }
🔬 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?
When we initially compute liveness, we use a bit matrix storing points for each region-vid.
Fields
elements: Rc<RegionValueElements>
🔬 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?
points: SparseBitMatrix<N, PointIndex>
🔬 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<N: Idx> LivenessValues<N>
[src]
impl<N: Idx> LivenessValues<N>
pub(crate) fn new(elements: &Rc<RegionValueElements>) -> Self
[src]
pub(crate) fn new(elements: &Rc<RegionValueElements>) -> Self
🔬 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?
Creates a new set of "region values" that tracks causal information. Each of the regions in num_region_variables will be initialized with an empty set of points and no causal information.
pub(crate) fn rows<'a>(&'a self) ->
[src]
pub(crate) fn rows<'a>(&'a self) ->
🔬 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?
Iterate through each region that has a value in this set.
pub(crate) fn add_element(&mut self, row: N, location: Location) -> bool
[src]
pub(crate) fn add_element(&mut self, row: N, location: Location) -> 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?
Adds the given element to the value for the given region. Returns true if the element is newly added (i.e., was not already present).
pub(crate) fn add_all_points(&mut self, row: N)
[src]
pub(crate) fn add_all_points(&mut self, row: N)
🔬 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 the control-flow points to the values for r
.
pub(crate) fn contains(&self, row: N, location: Location) -> bool
[src]
pub(crate) fn contains(&self, row: N, location: Location) -> 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?
True if the region r
contains the given element.
pub(crate) fn region_value_str(&self, r: N) -> String
[src]
pub(crate) fn region_value_str(&self, r: N) -> String
🔬 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 a "pretty" string value of the region. Meant for debugging.
Auto Trait Implementations
impl<N> !Send for LivenessValues<N>
impl<N> !Send for LivenessValues<N>
impl<N> !Sync for LivenessValues<N>
impl<N> !Sync for LivenessValues<N>