about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-08-28 10:36:11 +0000
committerbors <bors@rust-lang.org>2024-08-28 10:36:11 +0000
commit248a55723b5f4761bbce417bd64c5b79ac68d5bd (patch)
treefc5924d041e441debbf863c2fa84e3bd1fdb3cae
parent199c01df7a138694387a8635e7b10a0ff1578d14 (diff)
parent51055f71414da15963d547729fb11bf3e952da18 (diff)
downloadrust-248a55723b5f4761bbce417bd64c5b79ac68d5bd.tar.gz
rust-248a55723b5f4761bbce417bd64c5b79ac68d5bd.zip
Auto merge of #17981 - lnicola:proc-macro-cwd, r=Veykril
minor: Fix cwd used for proc macro expansion

Fixes #17980.
-rw-r--r--src/tools/rust-analyzer/crates/project-model/src/env.rs2
-rw-r--r--src/tools/rust-analyzer/crates/project-model/src/tests.rs2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/tools/rust-analyzer/crates/project-model/src/env.rs b/src/tools/rust-analyzer/crates/project-model/src/env.rs
index ec0f94b8f01..ff9d2035f60 100644
--- a/src/tools/rust-analyzer/crates/project-model/src/env.rs
+++ b/src/tools/rust-analyzer/crates/project-model/src/env.rs
@@ -65,7 +65,7 @@ pub(crate) fn inject_rustc_tool_env(
     // NOTE: Technically we should set this for all crates, but that will worsen the deduplication
     // logic so for now just keeping it proc-macros ought to be fine.
     if kind.is_proc_macro() {
-        env.set("CARGO_RUSTC_CURRENT_DIR", cargo.manifest_path().to_string());
+        env.set("CARGO_RUSTC_CURRENT_DIR", cargo.manifest_path().parent().to_string());
     }
 }
 
diff --git a/src/tools/rust-analyzer/crates/project-model/src/tests.rs b/src/tools/rust-analyzer/crates/project-model/src/tests.rs
index 920ee7bd4f1..f540bb94c19 100644
--- a/src/tools/rust-analyzer/crates/project-model/src/tests.rs
+++ b/src/tools/rust-analyzer/crates/project-model/src/tests.rs
@@ -278,7 +278,7 @@ fn crate_graph_dedup() {
     assert_eq!(regex_crate_graph.iter().count(), 60);
 
     crate_graph.extend(regex_crate_graph, &mut regex_proc_macros, |(_, a), (_, b)| a == b);
-    assert_eq!(crate_graph.iter().count(), 119);
+    assert_eq!(crate_graph.iter().count(), 118);
 }
 
 #[test]