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}