Enum devise::syn::Type [−][src]
pub enum Type {
Show 15 variants
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),
}Expand description
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
Slice(TypeSlice)A dynamically sized slice type: [T].
This type is available if Syn is built with the "derive" or
"full" feature.
Tuple Fields of Slice
0: TypeSliceArray(TypeArray)A fixed size array type: [T; n].
This type is available if Syn is built with the "derive" or
"full" feature.
Tuple Fields of Array
0: TypeArrayPtr(TypePtr)A raw pointer type: *const T or *mut T.
This type is available if Syn is built with the "derive" or
"full" feature.
Tuple Fields of Ptr
0: TypePtrReference(TypeReference)A reference type: &'a T or &'a mut T.
This type is available if Syn is built with the "derive" or
"full" feature.
Tuple Fields of Reference
BareFn(TypeBareFn)A bare function type: fn(usize) -> bool.
This type is available if Syn is built with the "derive" or
"full" feature.
Tuple Fields of BareFn
0: TypeBareFnNever(TypeNever)The never type: !.
This type is available if Syn is built with the "derive" or
"full" feature.
Tuple Fields of Never
0: TypeNeverTuple(TypeTuple)A tuple type: (A, B, C, String).
This type is available if Syn is built with the "derive" or
"full" feature.
Tuple Fields of Tuple
0: TypeTuplePath(TypePath)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.
Tuple Fields of Path
0: TypePathTraitObject(TypeTraitObject)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.
Tuple Fields of TraitObject
ImplTrait(TypeImplTrait)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.
Tuple Fields of ImplTrait
Paren(TypeParen)A parenthesized type equivalent to the inner type.
This type is available if Syn is built with the "derive" or
"full" feature.
Tuple Fields of Paren
0: TypeParenGroup(TypeGroup)A type contained within invisible delimiters.
This type is available if Syn is built with the "derive" or
"full" feature.
Tuple Fields of Group
0: TypeGroupInfer(TypeInfer)Indication that a type should be inferred by the compiler: _.
This type is available if Syn is built with the "derive" or
"full" feature.
Tuple Fields of Infer
0: TypeInferMacro(TypeMacro)A macro in the type position.
This type is available if Syn is built with the "derive" or
"full" feature.
Tuple Fields of Macro
0: TypeMacroVerbatim(TypeVerbatim)Tokens in type position not interpreted by Syn.
This type is available if Syn is built with the "derive" or
"full" feature.
Tuple Fields of Verbatim
0: TypeVerbatimImplementations
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.
Performs the conversion.
Auto Trait Implementations
impl !RefUnwindSafe for Type
impl UnwindSafe for Type
Blanket Implementations
Mutably borrows from an owned value. Read more
Returns a Span covering the complete contents of this syntax tree
node, or Span::call_site() if this node is empty. Read more