diff options
Diffstat (limited to 'crates/ra_hir_def/src/traits.rs')
-rw-r--r-- | crates/ra_hir_def/src/traits.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/crates/ra_hir_def/src/traits.rs b/crates/ra_hir_def/src/traits.rs index 6e36bc0d0..228524a57 100644 --- a/crates/ra_hir_def/src/traits.rs +++ b/crates/ra_hir_def/src/traits.rs | |||
@@ -12,7 +12,7 @@ use rustc_hash::FxHashMap; | |||
12 | 12 | ||
13 | use crate::{ | 13 | use crate::{ |
14 | db::DefDatabase2, AssocItemId, AstItemDef, ConstId, FunctionContainerId, FunctionLoc, Intern, | 14 | db::DefDatabase2, AssocItemId, AstItemDef, ConstId, FunctionContainerId, FunctionLoc, Intern, |
15 | LocationCtx, ModuleDefId, ModuleId, TraitId, TypeAliasId, | 15 | LocationCtx, ModuleDefId, ModuleId, TraitId, TypeAliasContainerId, TypeAliasLoc, |
16 | }; | 16 | }; |
17 | 17 | ||
18 | #[derive(Debug, Clone, PartialEq, Eq)] | 18 | #[derive(Debug, Clone, PartialEq, Eq)] |
@@ -41,7 +41,12 @@ impl TraitData { | |||
41 | .intern(db) | 41 | .intern(db) |
42 | .into(), | 42 | .into(), |
43 | ast::ImplItem::ConstDef(it) => ConstId::from_ast(ctx, &it).into(), | 43 | ast::ImplItem::ConstDef(it) => ConstId::from_ast(ctx, &it).into(), |
44 | ast::ImplItem::TypeAliasDef(it) => TypeAliasId::from_ast(ctx, &it).into(), | 44 | ast::ImplItem::TypeAliasDef(it) => TypeAliasLoc { |
45 | container: TypeAliasContainerId::TraitId(tr), | ||
46 | ast_id: AstId::new(src.file_id, ast_id_map.ast_id(&it)), | ||
47 | } | ||
48 | .intern(db) | ||
49 | .into(), | ||
45 | }) | 50 | }) |
46 | .collect() | 51 | .collect() |
47 | } else { | 52 | } else { |
@@ -65,6 +70,7 @@ impl TraitItemsIndex { | |||
65 | for item in db.trait_data(tr).items.iter() { | 70 | for item in db.trait_data(tr).items.iter() { |
66 | match item { | 71 | match item { |
67 | AssocItemId::FunctionId(_) => (), | 72 | AssocItemId::FunctionId(_) => (), |
73 | AssocItemId::TypeAliasId(_) => (), | ||
68 | _ => { | 74 | _ => { |
69 | let prev = index.traits_by_def.insert(*item, tr); | 75 | let prev = index.traits_by_def.insert(*item, tr); |
70 | assert!(prev.is_none()); | 76 | assert!(prev.is_none()); |