pub struct EqualityState<'db> { /* private fields */ }Expand description
State for the equality analysis, tracking variable equivalences.
This is the Info type for the dataflow analysis. Each block gets its own
EqualityState representing what we know at that point in the program.
Uses sparse HashMaps for efficiency - only variables that have been touched by the analysis are stored.
Trait Implementations§
Source§impl<'db> Clone for EqualityState<'db>
impl<'db> Clone for EqualityState<'db>
Source§fn clone(&self) -> EqualityState<'db>
fn clone(&self) -> EqualityState<'db>
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<'db> Debug for EqualityState<'db>
impl<'db> Debug for EqualityState<'db>
Source§impl<'db> DebugWithDb<'db> for EqualityState<'db>
impl<'db> DebugWithDb<'db> for EqualityState<'db>
type Db = dyn Database
fn fmt(&self, f: &mut Formatter<'_>, db: &'db Self::Db) -> Result
fn debug<'me>(&'me self, db: &'db Self::Db) -> DebugWith<'me, 'db, Self::Db>where
Self: Sized + 'me,
fn into_debug<'me>(self, db: &'db Self::Db) -> DebugWith<'me, 'db, Self::Db>where
Self: Sized + 'me,
Source§impl<'db> Default for EqualityState<'db>
impl<'db> Default for EqualityState<'db>
Source§fn default() -> EqualityState<'db>
fn default() -> EqualityState<'db>
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl<'db> Freeze for EqualityState<'db>
impl<'db> RefUnwindSafe for EqualityState<'db>
impl<'db> Send for EqualityState<'db>
impl<'db> Sync for EqualityState<'db>
impl<'db> Unpin for EqualityState<'db>
impl<'db> UnsafeUnpin for EqualityState<'db>
impl<'db> UnwindSafe for EqualityState<'db>
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<'db, T> DebugDbUpcast<'db, T> for Twhere
T: ?Sized,
impl<'db, T> DebugDbUpcast<'db, T> for Twhere
T: ?Sized,
fn debug_db_upcast(&'db self) -> &'db T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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