Skip to main content

ruvector_rabitq/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum RabitqError {
5    #[error("dimension mismatch: expected {expected}, got {actual}")]
6    DimensionMismatch { expected: usize, actual: usize },
7
8    #[error("index is empty")]
9    EmptyIndex,
10
11    #[error("k ({k}) exceeds number of indexed vectors ({n})")]
12    KTooLarge { k: usize, n: usize },
13
14    #[error("invalid dimension {0}: must be > 0")]
15    InvalidDimension(usize),
16
17    #[error("invalid parameter: {0}")]
18    InvalidParameter(String),
19}
20
21pub type Result<T> = std::result::Result<T, RabitqError>;