pub enum AndersenConstraint {
AddressOf {
lhs: LcnfVarId,
addr_of: LcnfVarId,
},
Copy {
lhs: LcnfVarId,
rhs: LcnfVarId,
},
Load {
lhs: LcnfVarId,
ptr: LcnfVarId,
},
Store {
ptr: LcnfVarId,
rhs: LcnfVarId,
},
}Expand description
A constraint in Andersen-style points-to analysis.
Variants§
AddressOf
AddressOf: x contains the address of y (x ⊇ {&y}).
Copy
Copy: x = y — pts(x) ⊇ pts(y).
Load
Load: x = *y — for each p ∈ pts(y): pts(x) ⊇ pts(p).
Store
Store: *x = y — for each p ∈ pts(x): pts(p) ⊇ pts(y).
Trait Implementations§
Source§impl Clone for AndersenConstraint
impl Clone for AndersenConstraint
Source§fn clone(&self) -> AndersenConstraint
fn clone(&self) -> AndersenConstraint
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 AndersenConstraint
impl Debug for AndersenConstraint
Source§impl Hash for AndersenConstraint
impl Hash for AndersenConstraint
Source§impl PartialEq for AndersenConstraint
impl PartialEq for AndersenConstraint
impl Eq for AndersenConstraint
impl StructuralPartialEq for AndersenConstraint
Auto Trait Implementations§
impl Freeze for AndersenConstraint
impl RefUnwindSafe for AndersenConstraint
impl Send for AndersenConstraint
impl Sync for AndersenConstraint
impl Unpin for AndersenConstraint
impl UnsafeUnpin for AndersenConstraint
impl UnwindSafe for AndersenConstraint
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