pub enum ValueKind {
Adt,
RawPtr,
Ref,
Tuple,
SpecialPtr,
}Expand description
Represents different kinds of types for alias analysis purposes. This is a wrapper of rustc_middle::ty::TyKind, except that treat some types as special cases;
Variants§
Adt
Algebraic Data Type (structs, enums, basic composite types).
RawPtr
Raw pointer type, e.g., *const T or *mut T.
Ref
Reference type, e.g., &T or &mut T.
Tuple
Tuple type, e.g., (T1, T2, ...).
SpecialPtr
Special cases such as RefCell, Rc, etc., which need to be treated differently.
Trait Implementations§
impl Copy for ValueKind
impl StructuralPartialEq for ValueKind
Auto Trait Implementations§
impl Freeze for ValueKind
impl RefUnwindSafe for ValueKind
impl Send for ValueKind
impl Sync for ValueKind
impl Unpin for ValueKind
impl UnwindSafe for ValueKind
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<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