pub struct BlockConstantInfo {
pub assigned_locals: FxHashSet<usize>,
pub constants: FxHashMap<usize, usize>,
pub constraint_copies: FxHashMap<usize, usize>,
pub comparison_sources: FxHashMap<usize, ComparisonSource>,
}Expand description
Per-block info collected during construction for path reachability analysis. Each block’s assignments, constants, and copy chains are stored together so they can be read with a single index lookup.
Fields§
§assigned_locals: FxHashSet<usize>§constants: FxHashMap<usize, usize>§constraint_copies: FxHashMap<usize, usize>§comparison_sources: FxHashMap<usize, ComparisonSource>Maps a boolean local (e.g., a guard result) to the binary comparison
that produced it: (op, lhs_local, rhs_kind).
Trait Implementations§
Source§impl Clone for BlockConstantInfo
impl Clone for BlockConstantInfo
Source§fn clone(&self) -> BlockConstantInfo
fn clone(&self) -> BlockConstantInfo
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BlockConstantInfo
impl Debug for BlockConstantInfo
Source§impl Default for BlockConstantInfo
impl Default for BlockConstantInfo
Source§fn default() -> BlockConstantInfo
fn default() -> BlockConstantInfo
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for BlockConstantInfo
impl RefUnwindSafe for BlockConstantInfo
impl Send for BlockConstantInfo
impl Sync for BlockConstantInfo
impl Unpin for BlockConstantInfo
impl UnwindSafe for BlockConstantInfo
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more