pub enum ConvergeError {
BudgetExhausted {
kind: String,
},
InvariantViolation {
name: String,
class: InvariantClass,
reason: String,
context: Box<Context>,
},
AgentFailed {
agent_id: String,
},
Conflict {
id: String,
existing: String,
new: String,
context: Box<Context>,
},
}Expand description
Top-level error type for Converge operations.
Note: Context is boxed in error variants to keep the error type small,
as recommended by clippy. Access via error.context() method.
Variants§
BudgetExhausted
Budget limit exceeded (cycles, facts, or time).
InvariantViolation
An invariant was violated during execution.
Fields
§
class: InvariantClassClass of the invariant (Structural, Semantic, Acceptance).
AgentFailed
Agent execution failed.
Conflict
Conflicting facts detected for the same ID.
Implementations§
Trait Implementations§
Source§impl Debug for ConvergeError
impl Debug for ConvergeError
Source§impl Display for ConvergeError
impl Display for ConvergeError
Source§impl Error for ConvergeError
impl Error for ConvergeError
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 ConvergeError
impl RefUnwindSafe for ConvergeError
impl Send for ConvergeError
impl Sync for ConvergeError
impl Unpin for ConvergeError
impl UnwindSafe for ConvergeError
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
Converts
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>
Converts
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