pub struct AliasPair {
pub left_local: usize,
pub lhs_fields: Vec<usize>,
pub right_local: usize,
pub rhs_fields: Vec<usize>,
}Expand description
AliasPair is used to store the alias relationships between two places. The result is field-sensitive.
Fields§
§left_local: usize§lhs_fields: Vec<usize>§right_local: usize§rhs_fields: Vec<usize>Implementations§
Source§impl AliasPair
impl AliasPair
pub fn new(left_local: usize, right_local: usize) -> AliasPair
Sourcepub fn swap(&mut self)
pub fn swap(&mut self)
Swap the two elements of an alias pair, i.e., left to right, and right to left.
pub fn left_local(&self) -> usize
pub fn right_local(&self) -> usize
pub fn lhs_fields(&self) -> &[usize]
pub fn rhs_fields(&self) -> &[usize]
Trait Implementations§
Source§impl From<MopAliasPair> for AliasPair
impl From<MopAliasPair> for AliasPair
Source§fn from(m: MopAliasPair) -> Self
fn from(m: MopAliasPair) -> Self
Converts to this type from the input type.
impl Eq for AliasPair
impl StructuralPartialEq for AliasPair
Auto Trait Implementations§
impl Freeze for AliasPair
impl RefUnwindSafe for AliasPair
impl Send for AliasPair
impl Sync for AliasPair
impl Unpin for AliasPair
impl UnwindSafe for AliasPair
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.