Enum stable_mir::ty::TyKind
source · pub enum TyKind {
RigidTy(RigidTy),
Alias(AliasKind, AliasTy),
Param(ParamTy),
Bound(usize, BoundTy),
}Variants§
Implementations§
source§impl TyKind
impl TyKind
pub fn rigid(&self) -> Option<&RigidTy>
pub fn is_unit(&self) -> bool
pub fn is_bool(&self) -> bool
pub fn is_trait(&self) -> bool
pub fn is_enum(&self) -> bool
pub fn is_struct(&self) -> bool
pub fn is_union(&self) -> bool
pub fn is_fn(&self) -> bool
pub fn is_fn_ptr(&self) -> bool
pub fn trait_principal(&self) -> Option<Binder<ExistentialTraitRef>>
sourcepub fn builtin_index(&self) -> Option<Ty>
pub fn builtin_index(&self) -> Option<Ty>
Returns the type of ty[i] for builtin types.
sourcepub fn builtin_deref(&self, explicit: bool) -> Option<TypeAndMut>
pub fn builtin_deref(&self, explicit: bool) -> Option<TypeAndMut>
Returns the type and mutability of *ty for builtin types.
The parameter explicit indicates if this is an explicit dereference.
Some types – notably unsafe ptrs – can only be dereferenced explicitly.
Trait Implementations§
source§impl PartialEq for TyKind
impl PartialEq for TyKind
impl Eq for TyKind
impl StructuralEq for TyKind
impl StructuralPartialEq for TyKind
Auto Trait Implementations§
impl RefUnwindSafe for TyKind
impl Send for TyKind
impl Sync for TyKind
impl Unpin for TyKind
impl UnwindSafe for TyKind
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
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 96 bytes
Size for each variant:
RigidTy: 96 bytesAlias: 48 bytesParam: 40 bytesBound: 56 bytes