1use crate::array::Alignment;
2use std::fmt::{Display, Formatter};
3
4pub type Result<T> = ::std::result::Result<T, Error>;
5
6#[derive(Debug)]
7pub enum Error {
8 InvalidPlanError {},
9 InputArrayMismatch {
10 expect: (usize, Alignment),
11 actual: (usize, Alignment),
12 },
13 OutputArrayMismatch {
14 expect: (usize, Alignment),
15 actual: (usize, Alignment),
16 },
17}
18
19impl Display for Error {
20 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
21 match self {
22 Error::InvalidPlanError {} => write!(f, "Invalid Plan"),
23 Error::OutputArrayMismatch { expect, actual } => {
24 write!(
25 f,
26 "Output array mismatch: expect={:?}, actual={:?}",
27 expect, actual
28 )
29 }
30 Error::InputArrayMismatch { expect, actual } => {
31 write!(
32 f,
33 "Input array mismatch: expect={:?}, actual={:?}",
34 expect, actual
35 )
36 }
37 }
38 }
39}
40
41impl std::error::Error for Error {}