From e42e6f9ab902ba05c3f534876ca6ab0dcdce13a2 Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Mon, 7 Dec 2020 13:55:41 +0100 Subject: ProcMacroProcessExpander: support attribute macros --- crates/proc_macro_api/src/lib.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'crates/proc_macro_api/src/lib.rs') diff --git a/crates/proc_macro_api/src/lib.rs b/crates/proc_macro_api/src/lib.rs index d5e87cf7d..0537286dd 100644 --- a/crates/proc_macro_api/src/lib.rs +++ b/crates/proc_macro_api/src/lib.rs @@ -42,9 +42,17 @@ impl tt::TokenExpander for ProcMacroProcessExpander { fn expand( &self, subtree: &Subtree, - _attr: Option<&Subtree>, + attr: Option<&Subtree>, ) -> Result { - self.process.custom_derive(&self.dylib_path, subtree, &self.name) + let task = ExpansionTask { + macro_body: subtree.clone(), + macro_name: self.name.to_string(), + attributes: attr.cloned(), + lib: self.dylib_path.to_path_buf(), + }; + + let result: ExpansionResult = self.process.send_task(msg::Request::ExpansionMacro(task))?; + Ok(result.expansion) } } -- cgit v1.2.3