Enum rustc_hir::hir::TyKind[−][src]

pub enum TyKind<'hir> {
Show variants Slice(&'hir Ty<'hir>), Array(&'hir Ty<'hir>, AnonConst), Ptr(MutTy<'hir>), Rptr(Lifetime, MutTy<'hir>), BareFn(&'hir BareFnTy<'hir>), Never, Tup(&'hir [Ty<'hir>]), Path(QPath<'hir>), OpaqueDef(ItemId, &'hir [GenericArg<'hir>]), TraitObject(&'hir [PolyTraitRef<'hir>], Lifetime, TraitObjectSyntax), Typeof(AnonConst), Infer, Err,
}
Expand description

The various kinds of types recognized by the compiler.

Variants

Slice(&'hir Ty<'hir>)
Expand description

A variable length slice (i.e., [T]).

Array(&'hir Ty<'hir>, AnonConst)
Expand description

A fixed length array (i.e., [T; n]).

Ptr(MutTy<'hir>)
Expand description

A raw pointer (i.e., *const T or *mut T).

Rptr(Lifetime, MutTy<'hir>)
Expand description

A reference (i.e., &'a T or &'a mut T).

BareFn(&'hir BareFnTy<'hir>)
Expand description

A bare function (e.g., fn(usize) -> bool).

Never
Expand description

The never type (!).

Tup(&'hir [Ty<'hir>])
Expand description

A tuple ((A, B, C, D, ...)).

Path(QPath<'hir>)
Expand description

A path to a type definition (module::module::...::Type), or an associated type (e.g., <Vec<T> as Trait>::Type or <T>::Target).

Type parameters may be stored in each PathSegment.

OpaqueDef(ItemId, &'hir [GenericArg<'hir>])
Expand description

A opaque type definition itself. This is currently only used for the opaque type Foo: Trait item that impl Trait in desugars to.

The generic argument list contains the lifetimes (and in the future possibly parameters) that are actually bound on the impl Trait.

TraitObject(&'hir [PolyTraitRef<'hir>], Lifetime, TraitObjectSyntax)
Expand description

A trait object type Bound1 + Bound2 + Bound3 where Bound is a trait or a lifetime.

Typeof(AnonConst)
Expand description

Unused for now.

Infer
Expand description

TyKind::Infer means the type should be inferred instead of it having been specified. This can appear anywhere in a type.

Err
Expand description

Placeholder for a type that has failed to be defined.

Trait Implementations

impl<'hir> Debug for TyKind<'hir>[src]

fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]

Formats the value using the given formatter. Read more

impl<'hir, __CTX> HashStable<__CTX> for TyKind<'hir> where
    __CTX: HashStableContext, 
[src]

fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)[src]

Auto Trait Implementations

impl<'hir> RefUnwindSafe for TyKind<'hir>

impl<'hir> !Send for TyKind<'hir>

impl<'hir> !Sync for TyKind<'hir>

impl<'hir> Unpin for TyKind<'hir>

impl<'hir> UnwindSafe for TyKind<'hir>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.