aboutsummaryrefslogtreecommitdiff
path: root/guests_macro/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'guests_macro/src/lib.rs')
-rw-r--r--guests_macro/src/lib.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/guests_macro/src/lib.rs b/guests_macro/src/lib.rs
new file mode 100644
index 0000000..84f2365
--- /dev/null
+++ b/guests_macro/src/lib.rs
@@ -0,0 +1,9 @@
+use proc_macro::TokenStream;
+mod parse_fn;
+
+#[proc_macro_attribute]
+pub fn proving_entrypoint(_: TokenStream, mut item: TokenStream) -> TokenStream {
+ let (name, args, ret) = parse_fn::split_fn(&item);
+ item.extend(format!("#[macro_export] macro_rules! entrypoint_expr {{ () => {{ make_wrapper!({}{} {}) }}; }}", name, args, ret).parse::<TokenStream>());
+ item
+}