pub struct Pointee { /* private fields */ }Expand description
A Pointee represents the TaintedType which a pointer points to.
A Pointee may represent either a scalar or an array, or an element of a
struct (either named or not).
Cloning a Pointee gives another reference to the same Pointee; if one
clone is updated with update() or taint(), all clones will be updated.
Implementations§
Source§impl Pointee
impl Pointee
Sourcepub fn new(pointee_ty: TaintedType) -> Self
pub fn new(pointee_ty: TaintedType) -> Self
Construct a new pointee with the given TaintedType for its contents.
This will be assumed to be distinct from all previously created
Pointees – that is, no pointer aliasing.
Sourcepub fn new_named_struct_element(
element_ty: TaintedType,
struct_name: String,
) -> Self
pub fn new_named_struct_element( element_ty: TaintedType, struct_name: String, ) -> Self
Construct a new pointee representing an element of the named struct with
the given name.
This will be assumed to be distinct from all previously created
Pointees – that is, no pointer aliasing.
Sourcepub fn new_global_contents(contents_ty: TaintedType, global_name: Name) -> Self
pub fn new_global_contents(contents_ty: TaintedType, global_name: Name) -> Self
Construct a new pointee representing the contents of the global with
the given name.
This will be assumed to be distinct from all previously created
Pointees – that is, no pointer aliasing.
Sourcepub fn ty(&self) -> Ref<'_, TaintedType>
pub fn ty(&self) -> Ref<'_, TaintedType>
Get a Ref to the TaintedType representing the pointee’s contents
Trait Implementations§
impl Eq for Pointee
impl StructuralPartialEq for Pointee
Auto Trait Implementations§
impl Freeze for Pointee
impl !RefUnwindSafe for Pointee
impl !Send for Pointee
impl !Sync for Pointee
impl Unpin for Pointee
impl !UnwindSafe for Pointee
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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>
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>
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