[][src]Struct syn::Generics

pub struct Generics {
    pub lifetimes: Vec<LifetimeDef>,
    pub ty_params: Vec<TyParam>,
    pub where_clause: WhereClause,
}

Represents lifetimes and type parameters attached to a declaration of a function, enum, trait, etc.

Fields

lifetimes: Vec<LifetimeDef>ty_params: Vec<TyParam>where_clause: WhereClause

Methods

impl Generics[src]

pub fn split_for_impl(&self) -> (ImplGenerics, TyGenerics, &WhereClause)[src]

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 {
        // ...
    }
}

Trait Implementations

impl Clone for Generics[src]

impl Default for Generics[src]

impl Eq for Generics[src]

impl PartialEq<Generics> for Generics[src]

impl Debug for Generics[src]

impl Hash for Generics[src]

impl StructuralPartialEq for Generics[src]

impl StructuralEq for Generics[src]

impl ToTokens for Generics[src]

Auto Trait Implementations

impl Send for Generics

impl Sync for Generics

impl Unpin for Generics

impl UnwindSafe for Generics

impl RefUnwindSafe for Generics

Blanket Implementations

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

impl<T> From<T> for T[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.

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

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

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