diff options
Diffstat (limited to 'crates/ra_hir/src/impl_block.rs')
-rw-r--r-- | crates/ra_hir/src/impl_block.rs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/crates/ra_hir/src/impl_block.rs b/crates/ra_hir/src/impl_block.rs index 0513f28a9..492d964a4 100644 --- a/crates/ra_hir/src/impl_block.rs +++ b/crates/ra_hir/src/impl_block.rs | |||
@@ -5,7 +5,6 @@ use ra_syntax::ast::{self}; | |||
5 | 5 | ||
6 | use crate::{ | 6 | use crate::{ |
7 | db::{AstDatabase, DefDatabase, HirDatabase}, | 7 | db::{AstDatabase, DefDatabase, HirDatabase}, |
8 | generics::HasGenericParams, | ||
9 | resolve::Resolver, | 8 | resolve::Resolver, |
10 | ty::Ty, | 9 | ty::Ty, |
11 | AssocItem, Crate, HasSource, ImplBlock, Module, Source, TraitRef, | 10 | AssocItem, Crate, HasSource, ImplBlock, Module, Source, TraitRef, |
@@ -52,12 +51,11 @@ impl ImplBlock { | |||
52 | Crate { crate_id: self.module(db).id.krate } | 51 | Crate { crate_id: self.module(db).id.krate } |
53 | } | 52 | } |
54 | 53 | ||
55 | pub(crate) fn resolver(&self, db: &impl DefDatabase) -> Resolver { | 54 | pub(crate) fn resolver(self, db: &impl DefDatabase) -> Resolver { |
56 | let r = self.module(db).resolver(db); | 55 | let r = self.module(db).resolver(db); |
57 | // add generic params, if present | 56 | // add generic params, if present |
58 | let p = self.generic_params(db); | 57 | let r = r.push_generic_params_scope(db, self.into()); |
59 | let r = if !p.params.is_empty() { r.push_generic_params_scope(p) } else { r }; | 58 | let r = r.push_impl_block_scope(self); |
60 | let r = r.push_impl_block_scope(self.clone()); | ||
61 | r | 59 | r |
62 | } | 60 | } |
63 | } | 61 | } |