made the add_missing_impl_members and add_missing_default_members assists transform lifetimes

This commit is contained in:
ponyii 2023-05-23 00:05:55 +04:00
parent e5c56cd9a0
commit fe8f862757
3 changed files with 116 additions and 29 deletions

View file

@ -2637,14 +2637,19 @@ impl GenericDef {
Either::Right(x) => GenericParam::TypeParam(x),
}
});
let lt_params = generics
self.lifetime_params(db).into_iter().chain(ty_params).collect()
}
pub fn lifetime_params(self, db: &dyn HirDatabase) -> Vec<GenericParam> {
let generics = db.generic_params(self.into());
generics
.lifetimes
.iter()
.map(|(local_id, _)| LifetimeParam {
id: LifetimeParamId { parent: self.into(), local_id },
})
.map(GenericParam::LifetimeParam);
lt_params.chain(ty_params).collect()
.map(GenericParam::LifetimeParam)
.collect()
}
pub fn type_params(self, db: &dyn HirDatabase) -> Vec<TypeOrConstParam> {