Struct Generics

Source
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 struct represents two distinct optional syntactic elements, generic parameters and where clause. In some locations of the grammar, there may be other tokens in between these two things.

Fields§

§lt_token: Option<Lt>§params: Punctuated<GenericParam, Comma>§gt_token: Option<Gt>§where_clause: Option<WhereClause>

Implementations§

Source§

impl Generics

Source

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

Iterator over the lifetime parameters in self.params.

Source

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

Iterator over the lifetime parameters in self.params.

Source

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

Iterator over the type parameters in self.params.

Source

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

Iterator over the type parameters in self.params.

Source

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

Iterator over the constant parameters in self.params.

Source

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

Iterator over the constant parameters in self.params.

Source

pub fn make_where_clause(&mut self) -> &mut WhereClause

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

Trait Implementations§

Source§

impl Default for Generics

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.