pub trait Backend:
Send
+ Sync
+ 'static {
type Tensor: Tensor;
type Error: Error + Send + Sync + 'static;
type Device: Device;
type TensorBuilder: TensorBuilder<Self>;
// Required methods
fn name(&self) -> &str;
fn devices(&self) -> Result<Vec<Self::Device>, Self::Error>;
fn default_device(&self) -> Self::Device;
fn tensor_builder(&self) -> Self::TensorBuilder;
}
Required Associated Types§
type Tensor: Tensor
type Error: Error + Send + Sync + 'static
type Device: Device
type TensorBuilder: TensorBuilder<Self>
Required Methods§
fn name(&self) -> &str
fn devices(&self) -> Result<Vec<Self::Device>, Self::Error>
fn default_device(&self) -> Self::Device
fn tensor_builder(&self) -> Self::TensorBuilder
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.