pub trait GenericsExt {
fn add_type_bound(&mut self, bounds: TypeParamBound);
fn add_type_bounds(&mut self, bounds: Punctuated<TypeParamBound, Add>);
fn replace(&mut self, ident: &Ident, with: &Ident);
fn replace_lifetime(&mut self, n: usize, with: &Lifetime) -> bool;
fn insert_lifetime(&mut self, lifetime: LifetimeDef);
fn bounded_types(
&self,
bounds: Punctuated<TypeParamBound, Add>
) -> Punctuated<WherePredicate, Comma>;
fn parsed_bounded_types(
&self,
bounds: TokenStream
) -> Result<Punctuated<WherePredicate, Comma>, Diagnostic>;
fn add_where_predicates(
&mut self,
predicates: Punctuated<WherePredicate, Comma>
);
}