Fill in type params in 'add missing impl members' assist

This commit is contained in:
Florian Diebold 2019-12-24 16:44:32 +01:00
parent aa49b79bda
commit c39352fa43
5 changed files with 151 additions and 37 deletions

View file

@ -644,6 +644,17 @@ impl_froms!(
Const
);
impl GenericDef {
pub fn params(self, db: &impl HirDatabase) -> Vec<TypeParam> {
let generics: Arc<hir_def::generics::GenericParams> = db.generic_params(self.into());
generics
.types
.iter()
.map(|(local_id, _)| TypeParam { id: TypeParamId { parent: self.into(), local_id } })
.collect()
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub struct Local {
pub(crate) parent: DefWithBody,