Struct syn::Generics [−][src]
pub struct Generics {
pub lt_token: Option<Lt>,
pub params: Punctuated<GenericParam, Comma>,
pub gt_token: Option<Gt>,
pub where_clause: Option<WhereClause>,
}
Expand description
Lifetimes and type parameters attached to a declaration of a function, enum, trait, etc.
This type is available only if Syn is built with the "derive"
or "full"
feature.
Fields
lt_token: Option<Lt>
params: Punctuated<GenericParam, Comma>
gt_token: Option<Gt>
where_clause: Option<WhereClause>
Implementations
Returns an
Iterator<Item = &
TypeParam
>
over the type parameters in self.params
.
Returns an
Iterator<Item = &mut
TypeParam
>
over the type parameters in self.params
.
Returns an
Iterator<Item = &
LifetimeDef
>
over the lifetime parameters in self.params
.
Returns an
Iterator<Item = &mut
LifetimeDef
>
over the lifetime parameters in self.params
.
Returns an
Iterator<Item = &
ConstParam
>
over the constant parameters in self.params
.
Returns an
Iterator<Item = &mut
ConstParam
>
over the constant parameters in self.params
.
Initializes an empty where
-clause if there is not one present already.
Split a type’s generics into the pieces required for impl’ing a trait for that type.
let (impl_generics, ty_generics, where_clause) = generics.split_for_impl();
quote! {
impl #impl_generics MyTrait for #name #ty_generics #where_clause {
// ...
}
}
This method is available only if Syn is built with the "derive"
or
"full"
feature and the "printing"
feature.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Generics
impl UnwindSafe for Generics
Blanket Implementations
Mutably borrows from an owned value. Read more