diff options
Diffstat (limited to 'crates/ra_hir/src/code_model.rs')
-rw-r--r-- | crates/ra_hir/src/code_model.rs | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index 920899dce..e2638cf92 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs | |||
@@ -322,9 +322,7 @@ impl Struct { | |||
322 | // take the outer scope... | 322 | // take the outer scope... |
323 | let r = self.module(db).resolver(db); | 323 | let r = self.module(db).resolver(db); |
324 | // ...and add generic params, if present | 324 | // ...and add generic params, if present |
325 | let p = self.generic_params(db); | 325 | r.push_generic_params_scope(db, self.into()) |
326 | let r = if !p.params.is_empty() { r.push_generic_params_scope(p) } else { r }; | ||
327 | r | ||
328 | } | 326 | } |
329 | } | 327 | } |
330 | 328 | ||
@@ -352,9 +350,7 @@ impl Union { | |||
352 | // take the outer scope... | 350 | // take the outer scope... |
353 | let r = self.module(db).resolver(db); | 351 | let r = self.module(db).resolver(db); |
354 | // ...and add generic params, if present | 352 | // ...and add generic params, if present |
355 | let p = self.generic_params(db); | 353 | r.push_generic_params_scope(db, self.into()) |
356 | let r = if !p.params.is_empty() { r.push_generic_params_scope(p) } else { r }; | ||
357 | r | ||
358 | } | 354 | } |
359 | } | 355 | } |
360 | 356 | ||
@@ -402,8 +398,7 @@ impl Enum { | |||
402 | // take the outer scope... | 398 | // take the outer scope... |
403 | let r = self.module(db).resolver(db); | 399 | let r = self.module(db).resolver(db); |
404 | // ...and add generic params, if present | 400 | // ...and add generic params, if present |
405 | let p = self.generic_params(db); | 401 | let r = r.push_generic_params_scope(db, self.into()); |
406 | let r = if !p.params.is_empty() { r.push_generic_params_scope(p) } else { r }; | ||
407 | r.push_scope(Scope::AdtScope(self.into())) | 402 | r.push_scope(Scope::AdtScope(self.into())) |
408 | } | 403 | } |
409 | } | 404 | } |
@@ -709,9 +704,7 @@ impl Function { | |||
709 | // take the outer scope... | 704 | // take the outer scope... |
710 | let r = self.container(db).map_or_else(|| self.module(db).resolver(db), |c| c.resolver(db)); | 705 | let r = self.container(db).map_or_else(|| self.module(db).resolver(db), |c| c.resolver(db)); |
711 | // ...and add generic params, if present | 706 | // ...and add generic params, if present |
712 | let p = self.generic_params(db); | 707 | r.push_generic_params_scope(db, self.into()) |
713 | let r = if !p.params.is_empty() { r.push_generic_params_scope(p) } else { r }; | ||
714 | r | ||
715 | } | 708 | } |
716 | 709 | ||
717 | pub fn diagnostics(self, db: &impl HirDatabase, sink: &mut DiagnosticSink) { | 710 | pub fn diagnostics(self, db: &impl HirDatabase, sink: &mut DiagnosticSink) { |
@@ -946,9 +939,7 @@ impl Trait { | |||
946 | pub(crate) fn resolver(self, db: &impl DefDatabase) -> Resolver { | 939 | pub(crate) fn resolver(self, db: &impl DefDatabase) -> Resolver { |
947 | let r = self.module(db).resolver(db); | 940 | let r = self.module(db).resolver(db); |
948 | // add generic params, if present | 941 | // add generic params, if present |
949 | let p = self.generic_params(db); | 942 | r.push_generic_params_scope(db, self.into()) |
950 | let r = if !p.params.is_empty() { r.push_generic_params_scope(p) } else { r }; | ||
951 | r | ||
952 | } | 943 | } |
953 | } | 944 | } |
954 | 945 | ||
@@ -1010,9 +1001,7 @@ impl TypeAlias { | |||
1010 | .map(|ib| ib.resolver(db)) | 1001 | .map(|ib| ib.resolver(db)) |
1011 | .unwrap_or_else(|| self.module(db).resolver(db)); | 1002 | .unwrap_or_else(|| self.module(db).resolver(db)); |
1012 | // ...and add generic params, if present | 1003 | // ...and add generic params, if present |
1013 | let p = self.generic_params(db); | 1004 | r.push_generic_params_scope(db, self.into()) |
1014 | let r = if !p.params.is_empty() { r.push_generic_params_scope(p) } else { r }; | ||
1015 | r | ||
1016 | } | 1005 | } |
1017 | } | 1006 | } |
1018 | 1007 | ||