diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2021-03-09 17:34:18 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2021-03-09 17:34:18 +0000 |
commit | 9a5c72d9f07760fe875ef653a956fcaa1fe5d0de (patch) | |
tree | ad4dd1306e31457b1c070d1c6c62f77e9beeb658 /crates/hir_def/src/lib.rs | |
parent | 84eed2136b1c69d50ddf4bcf313ea3aa66ed12f4 (diff) | |
parent | a430549aa6cb78e3a6c9258305b348743c4d7449 (diff) |
Merge #7878
7878: Remove `item_scope` field from `Body` r=jonas-schievink a=jonas-schievink
Closes https://github.com/rust-analyzer/rust-analyzer/issues/7632
Instead of storing an `ItemScope` filled with inner items, we store the list of `BlockId`s for all block expressions that are part of a `Body`. Code can then query the `block_def_map` for those.
bors r+
Co-authored-by: Jonas Schievink <[email protected]>
Co-authored-by: Jonas Schievink <[email protected]>
Diffstat (limited to 'crates/hir_def/src/lib.rs')
-rw-r--r-- | crates/hir_def/src/lib.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/hir_def/src/lib.rs b/crates/hir_def/src/lib.rs index 4498d94bb..ab3b17f6c 100644 --- a/crates/hir_def/src/lib.rs +++ b/crates/hir_def/src/lib.rs | |||
@@ -286,11 +286,11 @@ pub enum ContainerId { | |||
286 | 286 | ||
287 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] | 287 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] |
288 | pub enum AssocContainerId { | 288 | pub enum AssocContainerId { |
289 | ContainerId(ContainerId), | 289 | ModuleId(ModuleId), |
290 | ImplId(ImplId), | 290 | ImplId(ImplId), |
291 | TraitId(TraitId), | 291 | TraitId(TraitId), |
292 | } | 292 | } |
293 | impl_from!(ContainerId for AssocContainerId); | 293 | impl_from!(ModuleId for AssocContainerId); |
294 | 294 | ||
295 | /// A Data Type | 295 | /// A Data Type |
296 | #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] | 296 | #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] |
@@ -459,7 +459,7 @@ impl HasModule for ContainerId { | |||
459 | impl HasModule for AssocContainerId { | 459 | impl HasModule for AssocContainerId { |
460 | fn module(&self, db: &dyn db::DefDatabase) -> ModuleId { | 460 | fn module(&self, db: &dyn db::DefDatabase) -> ModuleId { |
461 | match *self { | 461 | match *self { |
462 | AssocContainerId::ContainerId(it) => it.module(db), | 462 | AssocContainerId::ModuleId(it) => it, |
463 | AssocContainerId::ImplId(it) => it.lookup(db).container.module(db), | 463 | AssocContainerId::ImplId(it) => it.lookup(db).container.module(db), |
464 | AssocContainerId::TraitId(it) => it.lookup(db).container.module(db), | 464 | AssocContainerId::TraitId(it) => it.lookup(db).container.module(db), |
465 | } | 465 | } |