tasm_lib/traits/rust_shadow.rs
1use std::collections::HashMap;
2
3use triton_vm::prelude::*;
4
5use crate::prelude::*;
6
7pub trait RustShadow {
8 fn inner(&self) -> &dyn BasicSnippet;
9
10 fn rust_shadow_wrapper(
11 &self,
12 stdin: &[BFieldElement],
13 nondeterminism: &NonDeterminism,
14 stack: &mut Vec<BFieldElement>,
15 memory: &mut HashMap<BFieldElement, BFieldElement>,
16 sponge: &mut Option<Tip5>,
17 ) -> Vec<BFieldElement>;
18
19 fn test(&self);
20
21 fn bench(&self);
22}