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>,
}
This is supported on crate features full or derive only.

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

impl Generics[src]

pub fn type_params(&self) -> TypeParams<'_>[src]

Returns an Iterator<Item = &TypeParam> over the type parameters in self.params.

pub fn type_params_mut(&mut self) -> TypeParamsMut<'_>[src]

Returns an Iterator<Item = &mut TypeParam> over the type parameters in self.params.

pub fn lifetimes(&self) -> Lifetimes<'_>[src]

Returns an Iterator<Item = &LifetimeDef> over the lifetime parameters in self.params.

pub fn lifetimes_mut(&mut self) -> LifetimesMut<'_>[src]

Returns an Iterator<Item = &mut LifetimeDef> over the lifetime parameters in self.params.

pub fn const_params(&self) -> ConstParams<'_>[src]

Returns an Iterator<Item = &ConstParam> over the constant parameters in self.params.

pub fn const_params_mut(&mut self) -> ConstParamsMut<'_>[src]

Returns an Iterator<Item = &mut ConstParam> over the constant parameters in self.params.

pub fn make_where_clause(&mut self) -> &mut WhereClause[src]

Initializes an empty where-clause if there is not one present already.

impl Generics[src]

pub fn split_for_impl(
    &self
) -> (ImplGenerics<'_>, TypeGenerics<'_>, Option<&WhereClause>)
[src]

This is supported on crate feature printing only.

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

impl Clone for Generics[src]

This is supported on crate feature clone-impls only.

impl Debug for Generics[src]

This is supported on crate feature extra-traits only.

impl Default for Generics[src]

impl Eq for Generics[src]

This is supported on crate feature extra-traits only.

impl Hash for Generics[src]

This is supported on crate feature extra-traits only.

impl Parse for Generics[src]

This is supported on crate feature parsing only.

impl PartialEq<Generics> for Generics[src]

This is supported on crate feature extra-traits only.

impl ToTokens for Generics[src]

This is supported on crate feature printing only.

Auto Trait Implementations

impl RefUnwindSafe for Generics

impl !Send for Generics

impl !Sync for Generics

impl Unpin for Generics

impl UnwindSafe for Generics

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Spanned for T where
    T: Spanned + ?Sized
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.