aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def/src/item_tree.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2021-05-06 22:53:05 +0100
committerGitHub <[email protected]>2021-05-06 22:53:05 +0100
commit6fccb152b4646877e38dc29dce1b0cd826eb6908 (patch)
tree361153338ec7c32866a5477b3e7681d05a4b0b7c /crates/hir_def/src/item_tree.rs
parentb37b709459a4ff881a91965ebf0c39e3a449c304 (diff)
parent20ae41c1a12963e938cb3bd4c7c84007412d6fa6 (diff)
Merge #8746
8746: Don't store call-site text offsets in hygiene info r=matklad a=jonas-schievink This threads a lot more database references around in order to avoid storing a bare `TextOffset` in the hygiene info. This `TextOffset` made hygiene info and `ItemTree`s more volatile than they should be, leading to excessive recomputation of `ItemTree`s. The incremental test added in https://github.com/rust-analyzer/rust-analyzer/pull/8721 is now passing with these changes. closes https://github.com/rust-analyzer/rust-analyzer/pull/8721 Co-authored-by: Jonas Schievink <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
Diffstat (limited to 'crates/hir_def/src/item_tree.rs')
-rw-r--r--crates/hir_def/src/item_tree.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/crates/hir_def/src/item_tree.rs b/crates/hir_def/src/item_tree.rs
index eaeca01bd..8d13c7e04 100644
--- a/crates/hir_def/src/item_tree.rs
+++ b/crates/hir_def/src/item_tree.rs
@@ -88,7 +88,7 @@ impl ItemTree {
88 let mut item_tree = match_ast! { 88 let mut item_tree = match_ast! {
89 match syntax { 89 match syntax {
90 ast::SourceFile(file) => { 90 ast::SourceFile(file) => {
91 top_attrs = Some(RawAttrs::new(&file, &hygiene)); 91 top_attrs = Some(RawAttrs::new(db, &file, &hygiene));
92 ctx.lower_module_items(&file) 92 ctx.lower_module_items(&file)
93 }, 93 },
94 ast::MacroItems(items) => { 94 ast::MacroItems(items) => {