pub trait CustomRegion<B> {
// Required methods
fn read(
&self,
read_kind: Val<B>,
address: Address,
bytes: u32,
solver: &mut Solver<'_, B>,
tag: bool,
) -> Result<Val<B>, ExecError>;
fn write(
&mut self,
write_kind: Val<B>,
address: Address,
data: Val<B>,
solver: &mut Solver<'_, B>,
tag: Option<Val<B>>,
) -> Result<Val<B>, ExecError>;
fn initial_value(&self, address: Address, bytes: u32) -> Option<B>;
fn memory_kind(&self) -> &'static str;
fn clone_dyn(&self) -> Box<dyn Send + Sync + CustomRegion<B>>;
}Required Methods§
fn read( &self, read_kind: Val<B>, address: Address, bytes: u32, solver: &mut Solver<'_, B>, tag: bool, ) -> Result<Val<B>, ExecError>
fn write( &mut self, write_kind: Val<B>, address: Address, data: Val<B>, solver: &mut Solver<'_, B>, tag: Option<Val<B>>, ) -> Result<Val<B>, ExecError>
fn initial_value(&self, address: Address, bytes: u32) -> Option<B>
Sourcefn memory_kind(&self) -> &'static str
fn memory_kind(&self) -> &'static str
Return a static string denoting the ‘kind’ of memory this custom region is representing, e.g. “device” or “page_table”. This information is only used for display purposes, and has not semantic meaning.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".