use thiserror::Error;
pub type IndexResult<T> = core::result::Result<T, IndexError>;
#[derive(Debug, Error)]
pub enum IndexError {
#[error("duplicate point id: {0}")]
DuplicateId(crate::PointId),
#[error("unknown point id: {0}")]
UnknownId(crate::PointId),
#[error("operation requires a non-empty index")]
Empty,
#[error("invalid config: {0}")]
InvalidConfig(&'static str),
#[error("dimension mismatch: expected {expected}, got {actual}")]
DimensionMismatch {
expected: usize,
actual: usize,
},
}