#[derive(thiserror::Error, Debug)]
pub enum Error {
#[error(transparent)]
Io(#[from] std::io::Error),
#[error(transparent)]
RequestDevice(#[from] wgpu::RequestDeviceError),
#[error(transparent)]
BufferAsync(#[from] wgpu::BufferAsyncError),
#[error("receiver returned None")]
ReceiverReturnedNone,
#[error("no adapter for instance {0:?}")]
NoAdapter(wgpu::Instance),
#[error("dimension mismatch in binary operator {op}: {lhs:?} {rhs:?}")]
DimensionMismatchBinaryOp {
op: &'static str,
lhs: Vec<usize>,
rhs: Vec<usize>,
},
}
pub type Result<T> = std::result::Result<T, Error>;