pub enum JsonTreeProcessError<R, Q, E>{
Budget(MeasuredBudgetError<R, Q>),
Visitor(E),
}Expand description
Identifies whether JSON tree processing failed in infrastructure or domain code.
This enum intentionally remains exhaustive so callers can distinguish the
complete set of processing failure domains at compile time. Adding a domain
requires a breaking release rather than a #[non_exhaustive] change.
§Type Parameters
R- Resource identity attached to budget failures.Q- Quantity representation attached to budget failures.E- Error type returned by the visitor.
§Examples
use qubit_json::value::traverse::JsonTreeProcessError;
let error: JsonTreeProcessError<(), usize, &str> =
JsonTreeProcessError::Visitor("visitor rejected the node");
assert!(matches!(error, JsonTreeProcessError::Visitor(_)));Variants§
Budget(MeasuredBudgetError<R, Q>)
A JSON resource measurement or budget rejected a tree node.
Tuple Fields
§
0: MeasuredBudgetError<R, Q>Resource measurement that exceeded the configured limit.
Visitor(E)
The caller-defined visitor rejected a budget-admitted node.
Tuple Fields
§
0: EDomain error returned by the visitor callback.
Trait Implementations§
Source§impl<R, Q, E> Display for JsonTreeProcessError<R, Q, E>
impl<R, Q, E> Display for JsonTreeProcessError<R, Q, E>
Source§impl<R, Q, E> Error for JsonTreeProcessError<R, Q, E>
impl<R, Q, E> Error for JsonTreeProcessError<R, Q, E>
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<R, Q, E> From<MeasuredBudgetError<R, Q>> for JsonTreeProcessError<R, Q, E>
impl<R, Q, E> From<MeasuredBudgetError<R, Q>> for JsonTreeProcessError<R, Q, E>
Source§fn from(source: MeasuredBudgetError<R, Q>) -> Self
fn from(source: MeasuredBudgetError<R, Q>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl<R, Q, E> Freeze for JsonTreeProcessError<R, Q, E>
impl<R, Q, E> RefUnwindSafe for JsonTreeProcessError<R, Q, E>
impl<R, Q, E> Send for JsonTreeProcessError<R, Q, E>
impl<R, Q, E> Sync for JsonTreeProcessError<R, Q, E>
impl<R, Q, E> Unpin for JsonTreeProcessError<R, Q, E>
impl<R, Q, E> UnsafeUnpin for JsonTreeProcessError<R, Q, E>
impl<R, Q, E> UnwindSafe for JsonTreeProcessError<R, Q, E>
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