aboutsummaryrefslogtreecommitdiff
path: root/syn/dev/parse.rs
diff options
context:
space:
mode:
Diffstat (limited to 'syn/dev/parse.rs')
-rw-r--r--syn/dev/parse.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/syn/dev/parse.rs b/syn/dev/parse.rs
new file mode 100644
index 0000000..2a92550
--- /dev/null
+++ b/syn/dev/parse.rs
@@ -0,0 +1,18 @@
+extern crate proc_macro;
+
+use proc_macro::TokenStream;
+use quote::quote;
+use syn::File;
+
+#[proc_macro]
+pub fn r#mod(input: TokenStream) -> TokenStream {
+ let compile_error = syn::parse::<File>(input)
+ .map(|file| println!("{:#?}", file))
+ .map_err(|err| err.to_compile_error())
+ .err();
+
+ TokenStream::from(quote! {
+ #compile_error
+ fn main() {}
+ })
+}