[][src]Enum syn::Type

pub enum Type {
    Slice(TypeSlice),
    Array(TypeArray),
    Ptr(TypePtr),
    Reference(TypeReference),
    BareFn(TypeBareFn),
    Never(TypeNever),
    Tuple(TypeTuple),
    Path(TypePath),
    TraitObject(TypeTraitObject),
    ImplTrait(TypeImplTrait),
    Paren(TypeParen),
    Group(TypeGroup),
    Infer(TypeInfer),
    Macro(TypeMacro),
    Verbatim(TypeVerbatim),
}
[]

The possible types that a Rust value could have.

This type is available if Syn is built with the "derive" or "full" feature.

Syntax tree enum

This type is a syntax tree enum.

Variants

[]

A dynamically sized slice type: [T].

This type is available if Syn is built with the "derive" or "full" feature.

[]

A fixed size array type: [T; n].

This type is available if Syn is built with the "derive" or "full" feature.

[]

A raw pointer type: *const T or *mut T.

This type is available if Syn is built with the "derive" or "full" feature.

[]

A reference type: &'a T or &'a mut T.

This type is available if Syn is built with the "derive" or "full" feature.

[]

A bare function type: fn(usize) -> bool.

This type is available if Syn is built with the "derive" or "full" feature.

[]

The never type: !.

This type is available if Syn is built with the "derive" or "full" feature.

[]

A tuple type: (A, B, C, String).

This type is available if Syn is built with the "derive" or "full" feature.

[]

A path like std::slice::Iter, optionally qualified with a self-type as in <Vec<T> as SomeTrait>::Associated.

Type arguments are stored in the Path itself.

This type is available if Syn is built with the "derive" or "full" feature.

[]

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

This type is available if Syn is built with the "derive" or "full" feature.

[]

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

This type is available if Syn is built with the "derive" or "full" feature.

[]

A parenthesized type equivalent to the inner type.

This type is available if Syn is built with the "derive" or "full" feature.

[]

A type contained within invisible delimiters.

This type is available if Syn is built with the "derive" or "full" feature.

[]

Indication that a type should be inferred by the compiler: _.

This type is available if Syn is built with the "derive" or "full" feature.

[]

A macro in the type position.

This type is available if Syn is built with the "derive" or "full" feature.

[]

Tokens in type position not interpreted by Syn.

This type is available if Syn is built with the "derive" or "full" feature.

Methods

impl Type
[src]
[]

Trait Implementations

impl From<Type> for FnArg
[src]
[+]

[]

Performs the conversion.

impl Synom for Type
[src]
[+]

[]

A short name of the type being parsed. Read more

impl Debug for Type
[src]
[+]

[]

Formats the value using the given formatter. Read more

impl Eq for Type
[src]

impl PartialEq for Type
[src]
[+]

[]

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

[]

This method tests for !=.

impl Hash for Type
[src]
[+]

[]

Feeds this value into the given [Hasher]. Read more

[]

Feeds a slice of this type into the given [Hasher]. Read more

impl Clone for Type
[src]
[+]

[]

Returns a copy of the value. Read more

[]

Performs copy-assignment from source. Read more

impl From<TypeSlice> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypeArray> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypePtr> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypeReference> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypeBareFn> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypeNever> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypeTuple> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypePath> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypeTraitObject> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypeImplTrait> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypeParen> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypeGroup> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypeInfer> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypeMacro> for Type
[src]
[+]

[]

Performs the conversion.

impl From<TypeVerbatim> for Type
[src]
[+]

[]

Performs the conversion.

impl ToTokens for Type
[src]
[+]

[]

Write self to the given TokenStream. Read more

[]

Convert self directly into a TokenStream object. Read more

Auto Trait Implementations

impl !Send for Type

impl !Sync for Type

Blanket Implementations

impl<T> Spanned for T where
    T: ToTokens
[src]
[+]

[]

Returns a Span covering the complete contents of this syntax tree node, or [Span::call_site()] if this node is empty. Read more

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

[]

Performs the conversion.

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

[]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]
[+]

[]

Creates owned data from borrowed data, usually by cloning. Read more

[]

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

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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

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

The type returned in the event of a conversion error.

[]

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

Performs the conversion.

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

Important traits for &'a mut W
[]

Immutably borrows from an owned value. Read more

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

Important traits for &'a mut W
[]

Mutably borrows from an owned value. Read more

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

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

The type returned in the event of a conversion error.

[]

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

Performs the conversion.

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

[]

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

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

impl<E> SpecializationError for E
[src]
[+]

[]

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

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Create an error for a missing method specialization. Defaults to panicking with type, trait & method names. S is the encoder/decoder state type, T is the type being encoded/decoded, and the arguments are the names of the trait and method that should've been overridden. Read more

impl<T> Erased for T
[src]

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

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

impl<T> Erased for T