Enum syn::Type [−][src]
pub enum Type {
Show 15 variants
Array(TypeArray),
BareFn(TypeBareFn),
Group(TypeGroup),
ImplTrait(TypeImplTrait),
Infer(TypeInfer),
Macro(TypeMacro),
Never(TypeNever),
Paren(TypeParen),
Path(TypePath),
Ptr(TypePtr),
Reference(TypeReference),
Slice(TypeSlice),
TraitObject(TypeTraitObject),
Tuple(TypeTuple),
Verbatim(TokenStream),
// some variants omitted
}Expand description
The possible types that a Rust value could have.
This type is available only if Syn is built with the "derive" or "full"
feature.
Syntax tree enum
This type is a syntax tree enum.
Variants
Array(TypeArray)A fixed size array type: [T; n].
Tuple Fields of Array
0: TypeArrayBareFn(TypeBareFn)A bare function type: fn(usize) -> bool.
Tuple Fields of BareFn
0: TypeBareFnGroup(TypeGroup)A type contained within invisible delimiters.
Tuple Fields of Group
0: TypeGroupImplTrait(TypeImplTrait)An impl Bound1 + Bound2 + Bound3 type where Bound is a trait or
a lifetime.
Tuple Fields of ImplTrait
Infer(TypeInfer)Indication that a type should be inferred by the compiler: _.
Tuple Fields of Infer
0: TypeInferMacro(TypeMacro)A macro in the type position.
Tuple Fields of Macro
0: TypeMacroNever(TypeNever)The never type: !.
Tuple Fields of Never
0: TypeNeverParen(TypeParen)A parenthesized type equivalent to the inner type.
Tuple Fields of Paren
0: TypeParenPath(TypePath)A path like std::slice::Iter, optionally qualified with a
self-type as in <Vec<T> as SomeTrait>::Associated.
Tuple Fields of Path
0: TypePathPtr(TypePtr)A raw pointer type: *const T or *mut T.
Tuple Fields of Ptr
0: TypePtrReference(TypeReference)A reference type: &'a T or &'a mut T.
Tuple Fields of Reference
Slice(TypeSlice)A dynamically sized slice type: [T].
Tuple Fields of Slice
0: TypeSliceTraitObject(TypeTraitObject)A trait object type Bound1 + Bound2 + Bound3 where Bound is a
trait or a lifetime.
Tuple Fields of TraitObject
Tuple(TypeTuple)A tuple type: (A, B, C, String).
Tuple Fields of Tuple
0: TypeTupleVerbatim(TokenStream)Tokens in type position not interpreted by Syn.
Tuple Fields of Verbatim
0: TokenStreamImplementations
In some positions, types may not contain the + character, to
disambiguate them. For example in the expression 1 as T, T may not
contain a + character.
This parser does not allow a +, while the default parser does.
Trait Implementations
Performs the conversion.
Performs the conversion.
Performs the conversion.
Performs the conversion.
Auto Trait Implementations
impl RefUnwindSafe for Type
impl UnwindSafe for Type
Blanket Implementations
Mutably borrows from an owned value. Read more