fix: the fields or variants of ADT was not restricted by limitations when hovering on Self type

This commit is contained in:
roife 2024-04-06 14:36:34 +08:00
parent 01c3559bf3
commit c06d670f8f
2 changed files with 40 additions and 3 deletions

View file

@ -413,6 +413,15 @@ pub(super) fn definition(
Definition::Adt(adt) => {
adt.display_limited(db, config.max_adt_fields_or_variants_count).to_string()
}
Definition::SelfType(impl_def) => {
let self_ty = &impl_def.self_ty(db);
match self_ty.as_adt() {
Some(adt) => {
adt.display_limited(db, config.max_adt_fields_or_variants_count).to_string()
}
None => self_ty.display(db).to_string(),
}
}
_ => def.label(db),
};
let docs = def.docs(db, famous_defs);