#[non_exhaustive]pub enum PrikkError {
CanonicalEncoding(String),
InvalidObjectId(String),
InvalidSignature(String),
InvalidName(String),
ObjectTypeMismatch {
expected: String,
actual: String,
},
UnsupportedFormatVersion(u32),
MalformedData(String),
Integrity(String),
LockConflict(String),
Precondition(String),
UnsupportedObjectType(String),
Io {
kind: Option<ErrorKind>,
context: String,
},
}Expand description
Error type used by the initial implementation crates.
#[non_exhaustive] (RFC 132 increment 1): prikk-error is published, and until this attribute
landed, adding any new variant was a breaking change for every downstream match. Verified free to
add before landing it: no exhaustive match on a PrikkError value exists anywhere in this
workspace.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
CanonicalEncoding(String)
Canonical encoding failed because input data violates the frozen schema contract.
InvalidObjectId(String)
An object identifier had an invalid form.
InvalidSignature(String)
A signature had an invalid form or did not match its envelope context.
InvalidName(String)
A path-like name failed Prikk path/ref validation.
ObjectTypeMismatch
A persistent object had an unexpected type.
Fields
UnsupportedFormatVersion(u32)
The persistent format version is unsupported.
MalformedData(String)
A persisted object or record has malformed bytes.
Integrity(String)
A persisted object was found at a path that does not match its computed ID.
LockConflict(String)
A lock could not be acquired because another writer may be active.
Precondition(String)
A caller precondition for the requested operation is not satisfied. Distinct from
Self::LockConflict, which means another writer may hold a lock: nothing here is
transient and waiting does not help — the caller must change what they asked for.
UnsupportedObjectType(String)
The requested object type cannot be persisted in the requested store.
Io
An I/O failure. kind is Some only when this value was built from a real
std::io::Error via From – every explicit construction site elsewhere in the workspace
(a caller-precondition violation, a platform-capability refusal, or a validation failure
wearing this variant rather than one that describes it) sets kind: None, which is the
truth, not a placeholder to “tidy” into something non-optional. RFC 132 increment 2 is
expected to move those sites onto variants that describe them and narrow this field.
Trait Implementations§
Source§impl Clone for PrikkError
impl Clone for PrikkError
Source§fn clone(&self) -> PrikkError
fn clone(&self) -> PrikkError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PrikkError
impl Debug for PrikkError
Source§impl Display for PrikkError
impl Display for PrikkError
impl Eq for PrikkError
Source§impl Error for PrikkError
impl Error for PrikkError
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()