From 0fffdafa9ded6c440c97ac8742a599dbdd848668 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 4 Sep 2023 11:55:16 +0100 Subject: [PATCH] W --- macros/macros.rs | 10 +++++++--- src/main.rs | 4 +++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/macros/macros.rs b/macros/macros.rs index cb6cd4a..44cfdf6 100644 --- a/macros/macros.rs +++ b/macros/macros.rs @@ -1,7 +1,11 @@ - +use proc_macro2::TokenStream as TokenStream2; #[proc_macro] -pub fn foo(input: proc_macro::TokenStream) -> proc_macro::TokenStream { - input +pub fn reparse(input: proc_macro::TokenStream) -> proc_macro::TokenStream { + let input: TokenStream2 = input.into(); + let reparsed: TokenStream2 = syn::parse2(input).unwrap_or_else(|e| { + e.into_compile_error() + }); + reparsed.into() } diff --git a/src/main.rs b/src/main.rs index 4e085e7..48d9fde 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,7 @@ +use foo_macros::reparse; + fn main() { - let s = stringify!(foo!("y")); + let s = reparse!(r#" "hi" "#); println!("{s}"); } -- 2.30.2