#[non_exhaustive]pub enum DagError {
DuplicateId(CausalId),
MissingPredecessor {
child: CausalId,
parent: CausalId,
},
SelfReference(CausalId),
}Expand description
Error returned by CausalDag::append.
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.
DuplicateId(CausalId)
A record with this CausalId already exists in the DAG.
Append-only invariant: duplicate IDs are forbidden.
MissingPredecessor
The record references a predecessor that has not yet been inserted. Physical axiom: a cause must exist before an effect can reference it.
Fields
SelfReference(CausalId)
The record lists its own CausalId in its predecessor set Π.
A causal self-loop violates the acyclicity invariant.
Trait Implementations§
Source§impl Error for DagError
impl Error for DagError
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()
Auto Trait Implementations§
impl Freeze for DagError
impl RefUnwindSafe for DagError
impl Send for DagError
impl Sync for DagError
impl Unpin for DagError
impl UnsafeUnpin for DagError
impl UnwindSafe for DagError
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