From 535783c2c57d326cc84ca3f6d65e5562182fa4a8 Mon Sep 17 00:00:00 2001 From: Wilfred Hughes Date: Thu, 12 Mar 2026 11:43:59 +0000 Subject: [PATCH] fix: Clarify error messages when proc-macro-srv changes working directory I'm investigating issues where users see a load of logs of the form: ``` Failed to set the current working dir to /redacted/path. Error: Os { code: 2, kind: NotFound, message: "No such file or directory" } ``` This is tricky to debug because there's two different code paths that write exactly the same error message. Ensure they're unique. --- crates/proc-macro-srv/src/lib.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/proc-macro-srv/src/lib.rs b/crates/proc-macro-srv/src/lib.rs index 734cb4ecc1..0bdc379cb6 100644 --- a/crates/proc-macro-srv/src/lib.rs +++ b/crates/proc-macro-srv/src/lib.rs @@ -328,7 +328,7 @@ impl<'snap> EnvChange<'snap> { let prev_working_dir = std::env::current_dir().ok(); if let Err(err) = std::env::set_current_dir(dir) { eprintln!( - "Failed to set the current working dir to {}. Error: {err:?}", + "Failed to change the current working dir to {}. Error: {err:?}", dir.display() ) } @@ -370,7 +370,7 @@ impl Drop for EnvChange<'_> { && let Err(err) = std::env::set_current_dir(dir) { eprintln!( - "Failed to set the current working dir to {}. Error: {:?}", + "Failed to change the current working dir back to {}. Error: {:?}", dir.display(), err )