pub trait RegisterInterface<T: Default + Copy> {
// Required methods
fn read(&self, address: RegisterAddress) -> Result<T, FPGAError>;
fn write(&self, address: RegisterAddress, data: T) -> Result<(), FPGAError>;
fn read_array_mut<const N: usize>(
&self,
address: RegisterAddress,
array: &mut [T; N],
) -> Result<(), FPGAError>;
fn write_array<const N: usize>(
&self,
address: RegisterAddress,
data: &[T; N],
) -> Result<(), FPGAError>;
// Provided method
fn read_array<const N: usize>(
&self,
address: RegisterAddress,
) -> Result<[T; N], FPGAError> { ... }
}
Required Methods§
fn read(&self, address: RegisterAddress) -> Result<T, FPGAError>
fn write(&self, address: RegisterAddress, data: T) -> Result<(), FPGAError>
fn read_array_mut<const N: usize>( &self, address: RegisterAddress, array: &mut [T; N], ) -> Result<(), FPGAError>
fn write_array<const N: usize>( &self, address: RegisterAddress, data: &[T; N], ) -> Result<(), FPGAError>
Provided Methods§
fn read_array<const N: usize>( &self, address: RegisterAddress, ) -> Result<[T; N], FPGAError>
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.