#[non_exhaustive]pub enum KeyPathError {
PatternNotMatched(ArtiPath),
Unrecognized(KeyPath),
InvalidArtiPath {
error: ArtiPathSyntaxError,
path: ArtiPath,
},
InvalidKeyPathComponentValue {
error: InvalidKeyPathComponentValue,
key: String,
path: ArtiPath,
value: Slug,
},
Bug(Bug),
}
Expand description
An error while attempting to extract information about a key given its path
For example, from a KeyPathInfoExtractor
.
See also crate::keystore::arti::MalformedPathError
,
which occurs at a lower level.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
PatternNotMatched(ArtiPath)
The path did not match the expected pattern.
Unrecognized(KeyPath)
The path is not recognized.
Returned by KeyMgr::describe
when none of its
KeyPathInfoExtractor
s is able to parse the specified KeyPath
.
InvalidArtiPath
Found an invalid ArtiPath
, which is syntactically invalid on its face
Fields
error: ArtiPathSyntaxError
What was wrong with the value
InvalidKeyPathComponentValue
An invalid key path component value string was encountered
When attempting to interpret a key path, one of the elements in the path contained a string value which wasn’t a legitimate representation of the type of data expected there for this kind of key.
(But the key path is in the proper character set.)
Fields
error: InvalidKeyPathComponentValue
What was wrong with the value
Bug(Bug)
An internal error.
Trait Implementations§
Source§impl Clone for KeyPathError
impl Clone for KeyPathError
Source§fn clone(&self) -> KeyPathError
fn clone(&self) -> KeyPathError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for KeyPathError
impl Debug for KeyPathError
Source§impl Display for KeyPathError
impl Display for KeyPathError
Source§impl Error for KeyPathError
impl Error for KeyPathError
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
Source§impl From<Bug> for KeyPathError
impl From<Bug> for KeyPathError
Source§impl From<KeyPathError> for KeystoreCorruptionError
impl From<KeyPathError> for KeystoreCorruptionError
Source§fn from(source: KeyPathError) -> Self
fn from(source: KeyPathError) -> Self
Auto Trait Implementations§
impl Freeze for KeyPathError
impl !RefUnwindSafe for KeyPathError
impl Send for KeyPathError
impl Sync for KeyPathError
impl Unpin for KeyPathError
impl !UnwindSafe for KeyPathError
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
, which can then be
downcast
into Box<dyn ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
, which can then be further
downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<E> ErrorReport for Ewhere
E: Error + 'static,
impl<E> ErrorReport for Ewhere
E: Error + 'static,
Source§fn report(&self) -> Report<ReportHelper<'_>>
fn report(&self) -> Report<ReportHelper<'_>>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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