Skip to main content

CorpusError

Enum CorpusError 

Source
#[non_exhaustive]
pub enum CorpusError { Codec(CodecError), DuplicateVectorId { id: VectorId, }, UnknownVectorId { id: VectorId, }, PolicyImmutable, DimensionMismatch { expected: u32, got: u32, }, BatchAtomicityFailure { index: usize, source: Box<CorpusError>, }, }
Expand description

Errors produced by the corpus aggregate layer.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Codec(CodecError)

An upstream codec operation failed.

#[from] generates impl From<CodecError> for CorpusError. #[source] makes thiserror implement source() as Some(self.0), so the inner CodecError is accessible via the standard error chain — matching the manual impl shown in docs/design/rust/error-model.md.

Do NOT use #[error(transparent)] — that delegates source() to self.0.source() (None for leaf variants), losing the chain link.

§

DuplicateVectorId

A vector with this id already exists in the corpus.

Fields

§id: VectorId

The duplicate vector identifier.

§

UnknownVectorId

A lookup requested a VectorId that does not exist.

Fields

§id: VectorId

The unknown vector identifier.

§

PolicyImmutable

An attempt was made to change the compression policy after it was frozen.

§

DimensionMismatch

A vector’s dimension does not match the corpus’s declared dimension.

Fields

§expected: u32

The dimension declared in the corpus’s CodecConfig.

§got: u32

The actual length of the supplied vector.

§

BatchAtomicityFailure

insert_batch failed atomically: the vector at index produced source; the corpus was not modified.

source is boxed to keep CorpusError Sized.

Fields

§index: usize

Zero-based index of the first failing vector in the batch.

§source: Box<CorpusError>

The error produced by the failing vector.

Trait Implementations§

Source§

impl Clone for CorpusError

Source§

fn clone(&self) -> CorpusError

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CorpusError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for CorpusError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for CorpusError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<CodecError> for CorpusError

Source§

fn from(source: CodecError) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for CorpusError

Source§

fn eq(&self, other: &CorpusError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for CorpusError

Source§

impl StructuralPartialEq for CorpusError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V