Enum syntax::ast::TyKind [] [src]

pub enum TyKind {
    Slice(P<Ty>),
    Array(P<Ty>, P<Expr>),
    Ptr(MutTy),
    Rptr(Option<Lifetime>, MutTy),
    BareFn(P<BareFnTy>),
    Never,
    Tup(Vec<P<Ty>>),
    Path(Option<QSelf>, Path),
    TraitObject(TyParamBounds),
    ImplTrait(TyParamBounds),
    Paren(P<Ty>),
    Typeof(P<Expr>),
    Infer,
    ImplicitSelf,
    Mac(Mac),
}
🔬 This is a nightly-only experimental API. (rustc_private)

The different kinds of types recognized by the compiler

Variants

🔬 This is a nightly-only experimental API. (rustc_private)

A variable-length slice ([T])

🔬 This is a nightly-only experimental API. (rustc_private)

A fixed length array ([T; n])

🔬 This is a nightly-only experimental API. (rustc_private)

A raw pointer (*const T or *mut T)

🔬 This is a nightly-only experimental API. (rustc_private)

A reference (&'a T or &'a mut T)

🔬 This is a nightly-only experimental API. (rustc_private)

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

🔬 This is a nightly-only experimental API. (rustc_private)

The never type (!)

🔬 This is a nightly-only experimental API. (rustc_private)

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

🔬 This is a nightly-only experimental API. (rustc_private)

A path (module::module::...::Type), optionally "qualified", e.g. <Vec<T> as SomeTrait>::SomeType.

Type parameters are stored in the Path itself

🔬 This is a nightly-only experimental API. (rustc_private)

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

🔬 This is a nightly-only experimental API. (rustc_private)

An impl Bound1 + Bound2 + Bound3 type where Bound is a trait or a lifetime.

🔬 This is a nightly-only experimental API. (rustc_private)

No-op; kept solely so that we can pretty-print faithfully

🔬 This is a nightly-only experimental API. (rustc_private)

Unused for now

🔬 This is a nightly-only experimental API. (rustc_private)

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

🔬 This is a nightly-only experimental API. (rustc_private)

Inferred type of a self or &self argument in a method.

🔬 This is a nightly-only experimental API. (rustc_private)

Trait Implementations

impl Clone for TyKind
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for TyKind
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl Eq for TyKind
[src]

impl Encodable for TyKind
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

deprecated in favor of rustc-serialize on crates.io

impl Decodable for TyKind
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

deprecated in favor of rustc-serialize on crates.io

impl Hash for TyKind
[src]

Feeds this value into the state given, updating the hasher as necessary.

Feeds a slice of this type into the state provided.

impl Debug for TyKind
[src]

Formats the value using the given formatter.