pub trait AdapterTraceExecutor<F>: Clone {
type ReadData;
type WriteData;
type RecordMut<'a>
where Self: 'a;
const WIDTH: usize;
// Required methods
fn start(pc: u32, memory: &TracingMemory, record: &mut Self::RecordMut<'_>);
fn read(
&self,
memory: &mut TracingMemory,
instruction: &Instruction<F>,
record: &mut Self::RecordMut<'_>,
) -> Self::ReadData;
fn write(
&self,
memory: &mut TracingMemory,
instruction: &Instruction<F>,
data: Self::WriteData,
record: &mut Self::RecordMut<'_>,
);
}
Expand description
A helper trait for expressing generic state accesses within the implementation of [TraceExecutor]. Note that this is only a helper trait when the same interface of state access is reused or shared by multiple implementations. It is not required to implement this trait if it is easier to implement the [TraceExecutor] trait directly without this trait.
Required Associated Constants§
Required Associated Types§
Required Methods§
fn start(pc: u32, memory: &TracingMemory, record: &mut Self::RecordMut<'_>)
fn read( &self, memory: &mut TracingMemory, instruction: &Instruction<F>, record: &mut Self::RecordMut<'_>, ) -> Self::ReadData
fn write( &self, memory: &mut TracingMemory, instruction: &Instruction<F>, data: Self::WriteData, record: &mut Self::RecordMut<'_>, )
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.