aboutsummaryrefslogtreecommitdiff
path: root/guests_macro/src/lib.rs
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-01-09 14:42:47 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-01-09 14:42:47 +0200
commit0d400d4c400928af565cb8de39556a2170846da1 (patch)
tree79d4c514d474ad45bbbea3769865d1069cbfc0ca /guests_macro/src/lib.rs
parentaa38a1ab0c64473bc6de7e3a5f25b416910ad235 (diff)
downloadzkVMs-benchmarks-0d400d4c400928af565cb8de39556a2170846da1.tar
zkVMs-benchmarks-0d400d4c400928af565cb8de39556a2170846da1.tar.gz
zkVMs-benchmarks-0d400d4c400928af565cb8de39556a2170846da1.zip
feat(guests_macro): Add initial implementation
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
+}