#[non_exhaustive]pub enum InvariantViolationKind {
OutcomeWithObligations {
obligation_count: usize,
},
MissingBlockingInteraction,
BlockingInteractionOnTerminalPhase,
BlockingInteractionOnNonUserPhase,
NonBlockingRequirementInBlockingSlot,
TerminalPhaseWithoutOutcome,
OutcomeOnNonTerminalPhase,
DuplicateObligation {
obligation_id: String,
},
UnserializableObligation,
UnanswerableBlockingInteraction {
error: InteractionSpecError,
},
}Expand description
The individual Flow Map invariants.
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.
OutcomeWithObligations
An outcome is present while obligations remain open.
MissingBlockingInteraction
A user-owned phase has no blocking interaction requirement (I6).
BlockingInteractionOnTerminalPhase
A terminal phase declares a blocking interaction.
BlockingInteractionOnNonUserPhase
A system- or external-owned phase declares a blocking interaction.
NonBlockingRequirementInBlockingSlot
The requirement in blocking_interaction is flagged non-blocking.
TerminalPhaseWithoutOutcome
A terminal phase has no outcome.
OutcomeOnNonTerminalPhase
A non-terminal phase carries an outcome.
DuplicateObligation
Two obligations serialize to the same stable identifier.
UnserializableObligation
An obligation could not be serialized to derive its identifier.
UnanswerableBlockingInteraction
The blocking requirement carries a payload the user could not answer.
Fields
§
error: InteractionSpecErrorWhy the card is unanswerable.
Trait Implementations§
Source§impl Clone for InvariantViolationKind
impl Clone for InvariantViolationKind
Source§impl Debug for InvariantViolationKind
impl Debug for InvariantViolationKind
Source§impl<'de> Deserialize<'de> for InvariantViolationKind
impl<'de> Deserialize<'de> for InvariantViolationKind
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for InvariantViolationKind
impl Display for InvariantViolationKind
impl Eq for InvariantViolationKind
Source§impl Error for InvariantViolationKind
impl Error for InvariantViolationKind
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 InvariantViolationKind
impl PartialEq for InvariantViolationKind
Source§impl Serialize for InvariantViolationKind
impl Serialize for InvariantViolationKind
impl StructuralPartialEq for InvariantViolationKind
Auto Trait Implementations§
impl Freeze for InvariantViolationKind
impl RefUnwindSafe for InvariantViolationKind
impl Send for InvariantViolationKind
impl Sync for InvariantViolationKind
impl Unpin for InvariantViolationKind
impl UnsafeUnpin for InvariantViolationKind
impl UnwindSafe for InvariantViolationKind
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.