diff options
Diffstat (limited to 'crates/ra_hir_def/src/resolver.rs')
-rw-r--r-- | crates/ra_hir_def/src/resolver.rs | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/crates/ra_hir_def/src/resolver.rs b/crates/ra_hir_def/src/resolver.rs index d79c9813b..af9d194f8 100644 --- a/crates/ra_hir_def/src/resolver.rs +++ b/crates/ra_hir_def/src/resolver.rs | |||
@@ -17,9 +17,9 @@ use crate::{ | |||
17 | nameres::{BuiltinShadowMode, CrateDefMap}, | 17 | nameres::{BuiltinShadowMode, CrateDefMap}, |
18 | path::{ModPath, PathKind}, | 18 | path::{ModPath, PathKind}, |
19 | per_ns::PerNs, | 19 | per_ns::PerNs, |
20 | AdtId, AssocContainerId, ConstId, DefWithBodyId, EnumId, EnumVariantId, FunctionId, | 20 | AdtId, AssocContainerId, ConstId, ContainerId, DefWithBodyId, EnumId, EnumVariantId, |
21 | GenericDefId, HasModule, ImplId, LocalModuleId, Lookup, ModuleDefId, ModuleId, StaticId, | 21 | FunctionId, GenericDefId, HasModule, ImplId, LocalModuleId, Lookup, ModuleDefId, ModuleId, |
22 | StructId, TraitId, TypeAliasId, TypeParamId, VariantId, | 22 | StaticId, StructId, TraitId, TypeAliasId, TypeParamId, VariantId, |
23 | }; | 23 | }; |
24 | 24 | ||
25 | #[derive(Debug, Clone, Default)] | 25 | #[derive(Debug, Clone, Default)] |
@@ -580,13 +580,21 @@ impl HasResolver for DefWithBodyId { | |||
580 | } | 580 | } |
581 | } | 581 | } |
582 | 582 | ||
583 | impl HasResolver for ContainerId { | ||
584 | fn resolver(self, db: &impl DefDatabase) -> Resolver { | ||
585 | match self { | ||
586 | ContainerId::ModuleId(it) => it.resolver(db), | ||
587 | ContainerId::DefWithBodyId(it) => it.resolver(db), | ||
588 | } | ||
589 | } | ||
590 | } | ||
591 | |||
583 | impl HasResolver for AssocContainerId { | 592 | impl HasResolver for AssocContainerId { |
584 | fn resolver(self, db: &impl DefDatabase) -> Resolver { | 593 | fn resolver(self, db: &impl DefDatabase) -> Resolver { |
585 | match self { | 594 | match self { |
595 | AssocContainerId::ContainerId(it) => it.resolver(db), | ||
586 | AssocContainerId::TraitId(it) => it.resolver(db), | 596 | AssocContainerId::TraitId(it) => it.resolver(db), |
587 | AssocContainerId::ImplId(it) => it.resolver(db), | 597 | AssocContainerId::ImplId(it) => it.resolver(db), |
588 | AssocContainerId::ModuleId(it) => it.resolver(db), | ||
589 | AssocContainerId::DefWithBodyId(it) => it.resolver(db), | ||
590 | } | 598 | } |
591 | } | 599 | } |
592 | } | 600 | } |