pub trait ReadOnlyAlgorithm: BasicSnippet {
// Required methods
fn rust_shadow(
&self,
stack: &mut Vec<BFieldElement>,
memory: &HashMap<BFieldElement, BFieldElement>,
nd_tokens: VecDeque<BFieldElement>,
nd_digests: VecDeque<Digest>,
) -> Result<(), RustShadowError>;
fn pseudorandom_initial_state(
&self,
seed: [u8; 32],
bench_case: Option<BenchmarkCase>,
) -> ReadOnlyAlgorithmInitialState;
// Provided method
fn corner_case_initial_states(&self) -> Vec<ReadOnlyAlgorithmInitialState> { ... }
}Expand description
Required Methods§
fn rust_shadow( &self, stack: &mut Vec<BFieldElement>, memory: &HashMap<BFieldElement, BFieldElement>, nd_tokens: VecDeque<BFieldElement>, nd_digests: VecDeque<Digest>, ) -> Result<(), RustShadowError>
fn pseudorandom_initial_state( &self, seed: [u8; 32], bench_case: Option<BenchmarkCase>, ) -> ReadOnlyAlgorithmInitialState
Provided Methods§
fn corner_case_initial_states(&self) -> Vec<ReadOnlyAlgorithmInitialState>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".