Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/proc_macro_api/src/lib.rs')
| -rw-r--r-- | crates/proc_macro_api/src/lib.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/crates/proc_macro_api/src/lib.rs b/crates/proc_macro_api/src/lib.rs index 9e50c1f83f..0b8a2b6f85 100644 --- a/crates/proc_macro_api/src/lib.rs +++ b/crates/proc_macro_api/src/lib.rs @@ -156,12 +156,18 @@ impl ProcMacro { attr: Option<&Subtree>, env: Vec<(String, String)>, ) -> Result<Result<Subtree, PanicMessage>, ServerError> { + let current_dir = env + .iter() + .find(|(name, _)| name == "CARGO_MANIFEST_DIR") + .map(|(_, value)| value.clone()); + let task = ExpandMacro { macro_body: FlatTree::new(subtree), macro_name: self.name.to_string(), attributes: attr.map(FlatTree::new), lib: self.dylib_path.to_path_buf().into(), env, + current_dir, }; let request = msg::Request::ExpandMacro(task); |