Skip to main content

ValidatorRegistryError

Enum ValidatorRegistryError 

Source
#[non_exhaustive]
pub enum ValidatorRegistryError { DuplicateId { id: &'static str, sources: Vec<RegistrationSource>, }, InvalidDescriptor { id: ValidatorId, registration_source: RegistrationSource, kind: BindErrorKind, dependency: Option<String>, }, }
Expand description

Failure while freezing a validator registry.

§Examples

use qubit_validator::{BindErrorKind, RegistrationSource, ValidatorId, ValidatorRegistryError};

let error = ValidatorRegistryError::InvalidDescriptor {
    id: ValidatorId::new("text.required"),
    registration_source: RegistrationSource::new("rules", "rules::text", "src/text.rs", 12),
    kind: BindErrorKind::InvalidDeclaration,
    dependency: None,
};
assert!(error.to_string().contains("invalid descriptor"));

§Source compatibility

The enum-level non_exhaustive attribute requires external matches to include a wildcard arm for future variants. It does not prevent external callers from constructing the current variants or matching all of their fields. Construction must supply every field of the selected variant. Patterns may use .. to ignore fields they do not need.

Adding a field to an existing variant can break external construction or complete field patterns and must be evaluated as a source-compatibility change separately from adding an enum variant.

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.
§

DuplicateId

Multiple registrations claim one stable ID.

Fields

§id: &'static str

Conflicting stable ID.

§sources: Vec<RegistrationSource>

Registration sources in deterministic order.

§

InvalidDescriptor

A registration contains an invalid descriptor declaration.

Fields

§id: ValidatorId

Validator identifier.

§registration_source: RegistrationSource

Registration source.

§kind: BindErrorKind

Declaration error kind.

§dependency: Option<String>

Dependency name attached to the declaration error, if present.

This stores only names declared in the descriptor, not runtime dependency values. The name is available through pattern matching but is omitted from the default debug representation.

Trait Implementations§

Source§

impl Clone for ValidatorRegistryError

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for ValidatorRegistryError

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> FmtResult

Formats registration metadata without exposing dependency names.

Source§

impl Display for ValidatorRegistryError

Source§

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

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

impl Error for ValidatorRegistryError

1.30.0 · 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

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> 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.