From 151cb453b425bb20a5944e92cb1ec717d39de946 Mon Sep 17 00:00:00 2001 From: sword_smith Date: Tue, 10 Sep 2024 18:18:36 +0200 Subject: [PATCH] chore: Fix build for TVM 0.42-alpha10 - The `TasmObject` trait now requires all nested structures to also implement `TasmObject`. And `TasmObject` is not defined for `enum` types, so a test had to be changed. - FRI from Triton VM now implement `Copy`. So linter will not allow us to call the `clone` method on it. Still missing port of some verifier (recursion) related types. --- .../programs/structs/exceed_allowed_field_size.rs | 12 ++++++------ src/tests_and_benchmarks/ozk/rust_shadows.rs | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/tests_and_benchmarks/ozk/programs/structs/exceed_allowed_field_size.rs b/src/tests_and_benchmarks/ozk/programs/structs/exceed_allowed_field_size.rs index ce719a2..bf60c81 100644 --- a/src/tests_and_benchmarks/ozk/programs/structs/exceed_allowed_field_size.rs +++ b/src/tests_and_benchmarks/ozk/programs/structs/exceed_allowed_field_size.rs @@ -5,17 +5,17 @@ use twenty_first::prelude::AlgebraicHasher; use crate::tests_and_benchmarks::ozk::rust_shadows as tasm; -#[derive(BFieldCodec, PartialEq, Eq, Clone, Debug, Arbitrary)] -enum MyEnum { - A(u64, Digest), - B, - C, +#[derive(BFieldCodec, TasmObject, PartialEq, Eq, Clone, Debug, Arbitrary)] +struct MyStruct { + inner_a: (u64, Digest), + inner_b: Digest, + inner_c: Vec, } #[derive(BFieldCodec, TasmObject, PartialEq, Eq, Clone, Debug, Arbitrary)] struct TestStruct { a: Vec, - b: MyEnum, + b: MyStruct, c: u32, d: Vec, e: Digest, diff --git a/src/tests_and_benchmarks/ozk/rust_shadows.rs b/src/tests_and_benchmarks/ozk/rust_shadows.rs index f02cdf3..852b72d 100644 --- a/src/tests_and_benchmarks/ozk/rust_shadows.rs +++ b/src/tests_and_benchmarks/ozk/rust_shadows.rs @@ -535,7 +535,7 @@ pub(super) fn tasmlib_verifier_fri_verify( fri_parameters: &FriVerify, ) -> Vec<(u32, XFieldElement)> { let fri = fri_parameters._to_fri(); - let tasm_lib_fri: tasm_lib::verifier::fri::verify::FriVerify = fri.clone().into(); + let tasm_lib_fri: tasm_lib::verifier::fri::verify::FriVerify = fri.into(); let (advance_nd_digests_by, ret) = SPONGE_STATE.with_borrow_mut(|maybe_sponge_state| { let sponge_state = maybe_sponge_state.as_mut().unwrap(); let proof_stream_before_fri = proof_iter