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)
Tuple Fields
0: TypeArrayA fixed size array type: [T; n].
BareFn(TypeBareFn)
Tuple Fields
0: TypeBareFnA bare function type: fn(usize) -> bool.
Group(TypeGroup)
Tuple Fields
0: TypeGroupA type contained within invisible delimiters.
ImplTrait(TypeImplTrait)
Tuple Fields
An impl Bound1 + Bound2 + Bound3 type where Bound is a trait or
a lifetime.
Infer(TypeInfer)
Tuple Fields
0: TypeInferIndication that a type should be inferred by the compiler: _.
Macro(TypeMacro)
Tuple Fields
0: TypeMacroA macro in the type position.
Never(TypeNever)
Tuple Fields
0: TypeNeverThe never type: !.
Paren(TypeParen)
Tuple Fields
0: TypeParenA parenthesized type equivalent to the inner type.
Path(TypePath)
Tuple Fields
0: TypePathA path like std::slice::Iter, optionally qualified with a
self-type as in <Vec<T> as SomeTrait>::Associated.
Ptr(TypePtr)
Tuple Fields
0: TypePtrA raw pointer type: *const T or *mut T.
Reference(TypeReference)
Tuple Fields
A reference type: &'a T or &'a mut T.
Slice(TypeSlice)
Tuple Fields
0: TypeSliceA dynamically sized slice type: [T].
TraitObject(TypeTraitObject)
Tuple Fields
A trait object type Bound1 + Bound2 + Bound3 where Bound is a
trait or a lifetime.
Tuple(TypeTuple)
Tuple Fields
0: TypeTupleA tuple type: (A, B, C, String).
Verbatim(TokenStream)
Tuple Fields
0: TokenStreamTokens in type position not interpreted by Syn.
Implementations
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
