in gazebo_derive/src/any_lifetime.rs [81:103]
fn type_param_bound_replace_lifetimes_with_static(
bound: &syn::TypeParamBound,
) -> syn::Result<syn::TypeParamBound> {
match bound {
syn::TypeParamBound::Lifetime(lifetime) => Ok(syn::TypeParamBound::Lifetime(
syn::Lifetime::new("'static", lifetime.span()),
)),
syn::TypeParamBound::Trait(trait_bound) => {
if trait_bound.lifetimes.is_some() {
return Err(syn::Error::new_spanned(
trait_bound,
"trait bounds with generic lifetimes are not supported",
));
}
Ok(syn::TypeParamBound::Trait(syn::TraitBound {
paren_token: trait_bound.paren_token,
modifier: trait_bound.modifier,
lifetimes: trait_bound.lifetimes.clone(),
path: path_replace_lifetimes_with_static(&trait_bound.path)?,
}))
}
}
}