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
Pointee
s – 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
Pointee
s – 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
Pointee
s – 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