about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLukas Wirth <lukastw97@gmail.com>2025-03-15 15:09:18 +0000
committerGitHub <noreply@github.com>2025-03-15 15:09:18 +0000
commitcbd62659208e9827bb5b89c2e2b0391c8bfe517a (patch)
treeff745506c4ff344186ef9f80c87edd456a79890c
parentca115123d86d089cf7ddf75b1235a8e6d1519ce8 (diff)
parent246415809cb151cbe6411e075c815940d61f55b4 (diff)
downloadrust-cbd62659208e9827bb5b89c2e2b0391c8bfe517a.tar.gz
rust-cbd62659208e9827bb5b89c2e2b0391c8bfe517a.zip
Merge pull request #19364 from Veykril/push-uonyorwwzpzx
fix: Fix missing `with_durability` calls
-rw-r--r--src/tools/rust-analyzer/crates/base-db/src/lib.rs10
-rw-r--r--src/tools/rust-analyzer/crates/hir-expand/src/db.rs1
2 files changed, 8 insertions, 3 deletions
diff --git a/src/tools/rust-analyzer/crates/base-db/src/lib.rs b/src/tools/rust-analyzer/crates/base-db/src/lib.rs
index 0f29abbb54f..b733c4d2414 100644
--- a/src/tools/rust-analyzer/crates/base-db/src/lib.rs
+++ b/src/tools/rust-analyzer/crates/base-db/src/lib.rs
@@ -86,7 +86,7 @@ impl Files {
         let files = Arc::clone(&self.files);
         match files.entry(file_id) {
             Entry::Occupied(mut occupied) => {
-                occupied.get_mut().set_text(db).to(Arc::from(text));
+                occupied.get_mut().set_text(db).with_durability(durability).to(Arc::from(text));
             }
             Entry::Vacant(vacant) => {
                 let text =
@@ -116,7 +116,7 @@ impl Files {
         let source_roots = Arc::clone(&self.source_roots);
         match source_roots.entry(source_root_id) {
             Entry::Occupied(mut occupied) => {
-                occupied.get_mut().set_source_root(db).to(source_root);
+                occupied.get_mut().set_source_root(db).with_durability(durability).to(source_root);
             }
             Entry::Vacant(vacant) => {
                 let source_root =
@@ -145,7 +145,11 @@ impl Files {
         // let db = self;
         match file_source_roots.entry(id) {
             Entry::Occupied(mut occupied) => {
-                occupied.get_mut().set_source_root_id(db).to(source_root_id);
+                occupied
+                    .get_mut()
+                    .set_source_root_id(db)
+                    .with_durability(durability)
+                    .to(source_root_id);
             }
             Entry::Vacant(vacant) => {
                 let file_source_root =
diff --git a/src/tools/rust-analyzer/crates/hir-expand/src/db.rs b/src/tools/rust-analyzer/crates/hir-expand/src/db.rs
index 112327f11e1..7e7858d15b4 100644
--- a/src/tools/rust-analyzer/crates/hir-expand/src/db.rs
+++ b/src/tools/rust-analyzer/crates/hir-expand/src/db.rs
@@ -61,6 +61,7 @@ pub trait ExpandDatabase: RootQueryDb {
     #[salsa::input]
     fn proc_macros(&self) -> Arc<ProcMacros>;
 
+    /// Incrementality query to prevent queries from directly depending on `ExpandDatabase::proc_macros`.
     #[salsa::invoke_actual(crate::proc_macro::proc_macros_for_crate)]
     fn proc_macros_for_crate(&self, krate: Crate) -> Option<Arc<CrateProcMacros>>;