1 use proc_macro::TokenStream; 2 use quote::quote; 3 use syn::File; 4 5 #[proc_macro] 6 pub fn r#mod(input: TokenStream) -> TokenStream { 7 let compile_error = syn::parse::<File>(input) 8 .map(|file| println!("{:#?}", file)) 9 .map_err(|err| err.to_compile_error()) 10 .err(); 11 12 TokenStream::from(quote! { 13 #compile_error 14 fn main() {} 15 }) 16 } 17