aboutsummaryrefslogtreecommitdiff
path: root/zkvms_host_io/input_macros/src
diff options
context:
space:
mode:
authorKamen Mladenov <kamen@syndamia.com>2025-02-27 11:35:32 +0200
committerKamen Mladenov <kamen@syndamia.com>2025-02-27 15:08:11 +0200
commit5b82ac769339938570c0d1f7230afc53732993b4 (patch)
treeb510f409458097a3c473ab80791a7717961ebd5b /zkvms_host_io/input_macros/src
parent39ec264c0d90555237debff519cc890b755a0646 (diff)
downloadzkVMs-benchmarks-5b82ac769339938570c0d1f7230afc53732993b4.tar
zkVMs-benchmarks-5b82ac769339938570c0d1f7230afc53732993b4.tar.gz
zkVMs-benchmarks-5b82ac769339938570c0d1f7230afc53732993b4.zip
chore: Rust fmt
Diffstat (limited to 'zkvms_host_io/input_macros/src')
-rw-r--r--zkvms_host_io/input_macros/src/lib.rs65
1 files changed, 43 insertions, 22 deletions
diff --git a/zkvms_host_io/input_macros/src/lib.rs b/zkvms_host_io/input_macros/src/lib.rs
index c3a34f7..60d3d48 100644
--- a/zkvms_host_io/input_macros/src/lib.rs
+++ b/zkvms_host_io/input_macros/src/lib.rs
@@ -2,7 +2,9 @@ use proc_macro::TokenStream;
#[path = "../../../guests_macro/src/parse_fn.rs"]
mod parse_fn;
-use crate::parse_fn::{ args_split, args_split_public, args_divide, args_divide_public, group_streams };
+use crate::parse_fn::{
+ args_divide, args_divide_public, args_split, args_split_public, group_streams,
+};
/// Parses the `guests/type.txt` type note, created from the guest
/// Returns a tuple of the arguments group and the return type
@@ -10,7 +12,10 @@ fn get_types() -> (TokenStream, TokenStream) {
let types: Vec<&str> = include_str!("../../../guests/type.txt")
.split('\n')
.collect();
- (types[0].parse::<TokenStream>().unwrap(), types[1].parse::<TokenStream>().unwrap())
+ (
+ types[0].parse::<TokenStream>().unwrap(),
+ types[1].parse::<TokenStream>().unwrap(),
+ )
}
static DERIVES: &str = "#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]";
@@ -68,13 +73,14 @@ pub fn generate_output_type_input_struct(_: TokenStream) -> TokenStream {
let (args, ret) = get_types();
let (patterns, types) = args_divide(&args);
- let public_inputs = toml::from_str::<toml::Table>(
- include_str!(concat!(env!("INPUTS_DIR"), "/default_public_input.toml"))
- )
- .unwrap();
+ let public_inputs = toml::from_str::<toml::Table>(include_str!(concat!(
+ env!("INPUTS_DIR"),
+ "/default_public_input.toml"
+ )))
+ .unwrap();
let public_types = args_divide_public(&args, &public_inputs.keys().collect())
.0
- .1
+ .1
.iter()
.map(|x| x.to_string() + ", ")
.collect::<String>();
@@ -85,13 +91,18 @@ pub fn generate_output_type_input_struct(_: TokenStream) -> TokenStream {
.iter()
.map(|x| format!("pub {x},"))
.collect::<String>();
- let public_input_type = format!("{} pub struct PublicInput {{ {} }}", DERIVES, public_attrs).to_string();
+ let public_input_type =
+ format!("{} pub struct PublicInput {{ {} }}", DERIVES, public_attrs).to_string();
let private_attrs = private_args
.iter()
.map(|x| format!("pub {x},"))
.collect::<String>();
- let private_input_type = format!("{} pub struct PrivateInput {{ {} }}", DERIVES, private_attrs).to_string();
+ let private_input_type = format!(
+ "{} pub struct PrivateInput {{ {} }}",
+ DERIVES, private_attrs
+ )
+ .to_string();
let all_args = args_split(&args);
@@ -101,18 +112,22 @@ pub fn generate_output_type_input_struct(_: TokenStream) -> TokenStream {
}
let types = group_streams(&types);
- struct_def += &format!("}}
+ struct_def += &format!(
+ "}}
impl From<Input> for {types} {{
fn from(input: Input) -> {types} {{
(
- ");
+ "
+ );
for field in patterns {
struct_def += &format!("input.{field},");
}
struct_def += ") } }";
- (output_type + &public_input_type + &private_input_type + &struct_def).parse::<TokenStream>().unwrap()
+ (output_type + &public_input_type + &private_input_type + &struct_def)
+ .parse::<TokenStream>()
+ .unwrap()
}
/// Repeats the given item as many times as fields there are, while replacing
@@ -145,11 +160,14 @@ pub fn foreach_input_field(item: TokenStream) -> TokenStream {
pub fn foreach_public_input_field(item: TokenStream) -> TokenStream {
let (args, _) = get_types();
- let public_inputs = toml::from_str::<toml::Table>(
- include_str!(concat!(env!("INPUTS_DIR"), "/default_public_input.toml"))
- )
- .unwrap();
- let public_patterns = args_divide_public(&args, &public_inputs.keys().collect()).0.0;
+ let public_inputs = toml::from_str::<toml::Table>(include_str!(concat!(
+ env!("INPUTS_DIR"),
+ "/default_public_input.toml"
+ )))
+ .unwrap();
+ let public_patterns = args_divide_public(&args, &public_inputs.keys().collect())
+ .0
+ .0;
foreach_field(item, public_patterns)
}
@@ -161,11 +179,14 @@ pub fn foreach_public_input_field(item: TokenStream) -> TokenStream {
pub fn foreach_private_input_field(item: TokenStream) -> TokenStream {
let (args, _) = get_types();
- let public_inputs = toml::from_str::<toml::Table>(
- include_str!(concat!(env!("INPUTS_DIR"), "/default_public_input.toml"))
- )
- .unwrap();
- let private_patterns = args_divide_public(&args, &public_inputs.keys().collect()).1.0;
+ let public_inputs = toml::from_str::<toml::Table>(include_str!(concat!(
+ env!("INPUTS_DIR"),
+ "/default_public_input.toml"
+ )))
+ .unwrap();
+ let private_patterns = args_divide_public(&args, &public_inputs.keys().collect())
+ .1
+ .0;
foreach_field(item, private_patterns)
}