blob: 2a92550511fa3b6e839f16881232e5eb7b7ce578 [file] [log] [blame]
David Tolnayc0d4ee52019-02-09 01:03:49 +01001extern crate proc_macro;
2
3use proc_macro::TokenStream;
David Tolnay5b351e52019-06-08 06:09:37 -07004use quote::quote;
5use syn::File;
David Tolnayc0d4ee52019-02-09 01:03:49 +01006
7#[proc_macro]
8pub fn r#mod(input: TokenStream) -> TokenStream {
David Tolnay5b351e52019-06-08 06:09:37 -07009 let compile_error = syn::parse::<File>(input)
10 .map(|file| println!("{:#?}", file))
11 .map_err(|err| err.to_compile_error())
12 .err();
13
14 TokenStream::from(quote! {
15 #compile_error
16 fn main() {}
17 })
David Tolnayc0d4ee52019-02-09 01:03:49 +010018}