diff options
| author | Kamen Mladenov <kamen@syndamia.com> | 2025-02-27 11:35:32 +0200 |
|---|---|---|
| committer | Kamen Mladenov <kamen@syndamia.com> | 2025-02-27 15:08:11 +0200 |
| commit | 5b82ac769339938570c0d1f7230afc53732993b4 (patch) | |
| tree | b510f409458097a3c473ab80791a7717961ebd5b /zkvms_host_io/input_macros/src | |
| parent | 39ec264c0d90555237debff519cc890b755a0646 (diff) | |
| download | zkVMs-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.rs | 65 |
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) } |
