#[non_exhaustive]pub enum CoercionError {
Uncoercible {
path: String,
value: String,
target: String,
reason: String,
},
}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.
Implementations§
Source§impl CoercionError
impl CoercionError
Sourcepub fn args(&self) -> BTreeMap<String, Value>
pub fn args(&self) -> BTreeMap<String, Value>
The facts this error’s message interpolates. See
Diagnostic::args.
Two of the four fields stay behind. path is a schema-space anchor
(card_kinds.<kind>.<field>) that ERROR.md § “Three grammars, one
that crosses” keeps engine-internal, and an args key would re-open that
door under a new name. reason is English minted at ~20 coercion arms,
sometimes wrapping a decode error’s own prose; under a key it would be
interpolated into a translated sentence, so it stays in message where
a consumer takes it whole or not at all.
What remains states the failure at lower resolution than the English
does (“{value} is not a {target}”), which is the contract.
Trait Implementations§
Source§impl Clone for CoercionError
impl Clone for CoercionError
Source§fn clone(&self) -> CoercionError
fn clone(&self) -> CoercionError
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CoercionError
impl Debug for CoercionError
Source§impl Display for CoercionError
impl Display for CoercionError
impl Eq for CoercionError
Source§impl Error for CoercionError
impl Error for CoercionError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
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
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl PartialEq for CoercionError
impl PartialEq for CoercionError
impl StructuralPartialEq for CoercionError
Auto Trait Implementations§
impl Freeze for CoercionError
impl RefUnwindSafe for CoercionError
impl Send for CoercionError
impl Sync for CoercionError
impl Unpin for CoercionError
impl UnsafeUnpin for CoercionError
impl UnwindSafe for CoercionError
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.