Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/hir-def/src/lang_item.rs18
1 files changed, 13 insertions, 5 deletions
diff --git a/crates/hir-def/src/lang_item.rs b/crates/hir-def/src/lang_item.rs
index a09fd658ae..f7c7f72139 100644
--- a/crates/hir-def/src/lang_item.rs
+++ b/crates/hir-def/src/lang_item.rs
@@ -117,11 +117,19 @@ impl LangItems {
match def {
ModuleDefId::TraitId(trait_) => {
lang_items.collect_lang_item(db, trait_, LangItemTarget::Trait);
- db.trait_data(trait_).items.iter().for_each(|&(_, assoc_id)| {
- if let AssocItemId::FunctionId(f) = assoc_id {
- lang_items.collect_lang_item(db, f, LangItemTarget::Function);
- }
- });
+ db.trait_data(trait_).items.iter().for_each(
+ |&(_, assoc_id)| match assoc_id {
+ AssocItemId::FunctionId(f) => {
+ lang_items.collect_lang_item(db, f, LangItemTarget::Function);
+ }
+ AssocItemId::TypeAliasId(alias) => lang_items.collect_lang_item(
+ db,
+ alias,
+ LangItemTarget::TypeAlias,
+ ),
+ AssocItemId::ConstId(_) => {}
+ },
+ );
}
ModuleDefId::AdtId(AdtId::EnumId(e)) => {
lang_items.collect_lang_item(db, e, LangItemTarget::EnumId);