aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def/src/lib.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-03-09 17:34:18 +0000
committerGitHub <[email protected]>2021-03-09 17:34:18 +0000
commit9a5c72d9f07760fe875ef653a956fcaa1fe5d0de (patch)
treead4dd1306e31457b1c070d1c6c62f77e9beeb658 /crates/hir_def/src/lib.rs
parent84eed2136b1c69d50ddf4bcf313ea3aa66ed12f4 (diff)
parenta430549aa6cb78e3a6c9258305b348743c4d7449 (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.rs6
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)]
288pub enum AssocContainerId { 288pub enum AssocContainerId {
289 ContainerId(ContainerId), 289 ModuleId(ModuleId),
290 ImplId(ImplId), 290 ImplId(ImplId),
291 TraitId(TraitId), 291 TraitId(TraitId),
292} 292}
293impl_from!(ContainerId for AssocContainerId); 293impl_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 {
459impl HasModule for AssocContainerId { 459impl 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 }