diff options
| author | Kamen Mladenov <kamen@syndamia.com> | 2025-02-03 15:49:27 +0200 |
|---|---|---|
| committer | Kamen Mladenov <kamen@syndamia.com> | 2025-02-03 16:21:54 +0200 |
| commit | 434248bf0ac990ac5cf8e4dfc6b923e6f1cf060c (patch) | |
| tree | 97aa8a4b5bc8039f2c22ac906cedfc68904bdcd5 /zkvms_host_io/input_macros | |
| parent | 0e2db3d20ccae2090f4a01d172e451c596da0c30 (diff) | |
| download | zkVMs-benchmarks-434248bf0ac990ac5cf8e4dfc6b923e6f1cf060c.tar zkVMs-benchmarks-434248bf0ac990ac5cf8e4dfc6b923e6f1cf060c.tar.gz zkVMs-benchmarks-434248bf0ac990ac5cf8e4dfc6b923e6f1cf060c.zip | |
feat(guests_macro/parse_fn): Make _public functions also return private values
Diffstat (limited to 'zkvms_host_io/input_macros')
| -rw-r--r-- | zkvms_host_io/input_macros/src/lib.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/zkvms_host_io/input_macros/src/lib.rs b/zkvms_host_io/input_macros/src/lib.rs index ea59460..49cff80 100644 --- a/zkvms_host_io/input_macros/src/lib.rs +++ b/zkvms_host_io/input_macros/src/lib.rs @@ -23,28 +23,28 @@ pub fn generate_output_type_input_struct(_: TokenStream) -> TokenStream { ) .unwrap(); let public_types = args_divide_public(&args, &public_inputs.keys().collect()) + .0 .1 .iter() .map(|x| x.to_string() + ", ") .collect::<String>(); let output_type = format!("pub type Output = ({} {});", public_types, ret).to_string(); - let all_args = args_split(&args); - - let public_args = args_split_public(&args, &public_inputs.keys().collect()); + let (public_args, private_args) = args_split_public(&args, &public_inputs.keys().collect()); let public_attrs = public_args .iter() .map(|x| format!("pub {x},")) .collect::<String>(); let public_input_type = format!("{} pub struct PublicInput {{ {} }}", DERIVES, public_attrs).to_string(); - let private_attrs = all_args + let private_attrs = private_args .iter() - .filter(|t| !public_args.iter().any(|pt| *t.to_string() == pt.to_string())) .map(|x| format!("pub {x},")) .collect::<String>(); let private_input_type = format!("{} pub struct PrivateInput {{ {} }}", DERIVES, private_attrs).to_string(); + let all_args = args_split(&args); + let mut struct_def = format!("{} pub struct Input {{", DERIVES); for arg in all_args { struct_def += &format!("pub {arg},"); |
