Enum syn::GenericArgument
source · #[non_exhaustive]
pub enum GenericArgument {
Lifetime(Lifetime),
Type(Type),
Const(Expr),
AssocType(AssocType),
AssocConst(AssocConst),
Constraint(Constraint),
}
Expand description
An individual generic argument, like 'a
, T
, or Item = T
.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Lifetime(Lifetime)
A lifetime argument.
Type(Type)
A type argument.
Const(Expr)
A const expression. Must be inside of a block.
NOTE: Identity expressions are represented as Type arguments, as they are indistinguishable syntactically.
AssocType(AssocType)
A binding (equality constraint) on an associated type: the Item = u8
in Iterator<Item = u8>
.
AssocConst(AssocConst)
An equality constraint on an associated constant: the PANIC = false
in Trait<PANIC = false>
.
Constraint(Constraint)
An associated type bound: Iterator<Item: Display>
.