#[non_exhaustive]pub enum SupersessionReason {
NotFound,
LineageMismatch,
VersionMismatch,
AlreadySuperseded,
CrossRegistrySupersessionUnsupported,
LineageWalkFailed,
RevocationTypeMismatch,
Other,
}Expand description
Sub-reason for AcdpError::SupersededTarget. Starts from the
details.reason values enumerated by acdp-error.schema.json’s
superseded_target description (not_found, lineage_mismatch,
version_mismatch, already_superseded,
cross_registry_supersession_unsupported) and adds typed reasons this
library recognizes beyond what that enum currently lists
(LineageWalkFailed, RevocationTypeMismatch) — it is a superset, not
a mirror. #[non_exhaustive] plus the Other catch-all below is what
keeps a schema addition from being a breaking change here.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
NotFound
The supersedes target context does not exist on this registry.
LineageMismatch
The target’s lineage_id differs from the new publication’s lineage.
VersionMismatch
The new version is not exactly previous.version + 1.
AlreadySuperseded
The target has already been superseded by a different version.
CrossRegistrySupersessionUnsupported
The target lives on a different registry; v0.1.0 only allows same-registry supersession.
LineageWalkFailed
The lineage walk through supersedes failed because an
intermediate context could not be retrieved (RFC-ACDP-0001 §5.6.1).
RevocationTypeMismatch
A non-revocation context superseded a key-revocation (or interim
acdp:key-revocation) target (RFC-ACDP-0014 §4/§10). Only emitted by
registries advertising acdp_version >= 0.5.0; below that version
this rejection surfaces as AcdpError::SchemaViolation instead.
Provisional per registries/error-codes.md (the 0.5.0 line is
still Draft).
Other
A reason this version of the library does not recognize.
Trait Implementations§
Source§impl Clone for SupersessionReason
impl Clone for SupersessionReason
Source§impl Debug for SupersessionReason
impl Debug for SupersessionReason
Source§impl<'de> Deserialize<'de> for SupersessionReason
impl<'de> Deserialize<'de> for SupersessionReason
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for SupersessionReason
Source§impl PartialEq for SupersessionReason
impl PartialEq for SupersessionReason
Source§impl Serialize for SupersessionReason
impl Serialize for SupersessionReason
impl StructuralPartialEq for SupersessionReason
Auto Trait Implementations§
impl Freeze for SupersessionReason
impl RefUnwindSafe for SupersessionReason
impl Send for SupersessionReason
impl Sync for SupersessionReason
impl Unpin for SupersessionReason
impl UnsafeUnpin for SupersessionReason
impl UnwindSafe for SupersessionReason
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
key and return true if they are equal.