#[non_exhaustive]pub enum MatchingError {
MissingField(String),
}Expand description
Errors that may be returned by worker-matcher operations.
The matching engine itself is infallible — scoring two workers always
produces a crate::MatchResult. The only fallible operation in the
public surface today is crate::Worker::validate, which returns
MatchingError::MissingField when neither a name nor an identifier
is populated. Identifier parsers in crate::identifiers return
Option<String> (the parser is the source of truth on validity), so
they never surface as errors. Configuration builders
(crate::MatchConfig::default, strict, lenient) are infallible.
The enum is #[non_exhaustive] so future fallible code paths can add
variants without breaking SemVer for downstream pattern-matches.
use worker_matcher::MatchingError;
let e = MatchingError::MissingField("nhs_number".into());
// `Display` is provided by `thiserror`.
assert!(e.to_string().contains("Missing required field"));Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
MissingField(String)
A required field was absent. Returned by crate::Worker::validate.
Trait Implementations§
Source§impl Debug for MatchingError
impl Debug for MatchingError
Source§impl Display for MatchingError
impl Display for MatchingError
Source§impl Error for MatchingError
impl Error for MatchingError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for MatchingError
impl RefUnwindSafe for MatchingError
impl Send for MatchingError
impl Sync for MatchingError
impl Unpin for MatchingError
impl UnsafeUnpin for MatchingError
impl UnwindSafe for MatchingError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more