#[non_exhaustive]pub enum ValueWireEncodeError {
NonFiniteFloat {
data_type: DataType,
},
BigDecimalScaleTooLarge {
scale: i64,
maximum_absolute_scale: i64,
},
Budget(BudgetError<JsonResource, usize>),
Quantity {
resource: JsonResource,
source: QuantityConversionError,
},
Syntax(JsonSyntaxError),
Json(JsonSerializationError),
Io(Error),
}Expand description
A runtime value cannot be represented by the JSON V1 wire contract.
§Examples
use qubit_value::{Value, ValueWireEncodeError, ValueWireV1};
let error = ValueWireV1::try_from(Value::Float64(f64::NAN)).unwrap_err();
assert!(matches!(error, ValueWireEncodeError::NonFiniteFloat { .. }));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.
NonFiniteFloat
A JSON V1 float must be finite.
BigDecimalScaleTooLarge
A V1 decimal exponent must stay within the bounded wire range.
Fields
Budget(BudgetError<JsonResource, usize>)
The JSON output exceeded one configured resource budget.
Tuple Fields
§
0: BudgetError<JsonResource, usize>Budget violation reported by the bounded JSON encoder.
Quantity
A native JSON measurement could not be represented by the budget quantity type.
Fields
§
resource: JsonResourceResource whose measurement failed.
§
source: QuantityConversionErrorNative measurement conversion failure.
Syntax(JsonSyntaxError)
The encoded value contains invalid JSON syntax.
Tuple Fields
§
0: JsonSyntaxErrorSyntax error found in an embedded raw JSON payload.
Json(JsonSerializationError)
Strict JSON serialization rejected the value during bounded encoding.
Tuple Fields
§
0: JsonSerializationErrorStable, privacy-safe JSON serialization failure.
Io(Error)
The destination writer rejected bounded JSON output.
Trait Implementations§
Source§impl Debug for ValueWireEncodeError
impl Debug for ValueWireEncodeError
Source§impl Display for ValueWireEncodeError
impl Display for ValueWireEncodeError
Source§impl Error for ValueWireEncodeError
impl Error for ValueWireEncodeError
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 From<JsonEncodeError<JsonResource>> for ValueWireEncodeError
Available on crate feature json only.
impl From<JsonEncodeError<JsonResource>> for ValueWireEncodeError
Available on crate feature
json only.Source§fn from(error: JsonEncodeError<JsonResource>) -> Self
fn from(error: JsonEncodeError<JsonResource>) -> Self
Converts to this type from the input type.
Source§impl From<MeasuredBudgetError<JsonResource, usize>> for ValueWireEncodeError
Available on crate feature json only.
impl From<MeasuredBudgetError<JsonResource, usize>> for ValueWireEncodeError
Available on crate feature
json only.Source§fn from(error: MeasuredBudgetError<JsonResource, usize>) -> Self
fn from(error: MeasuredBudgetError<JsonResource, usize>) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl !RefUnwindSafe for ValueWireEncodeError
impl !UnwindSafe for ValueWireEncodeError
impl Freeze for ValueWireEncodeError
impl Send for ValueWireEncodeError
impl Sync for ValueWireEncodeError
impl Unpin for ValueWireEncodeError
impl UnsafeUnpin for ValueWireEncodeError
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> IntoValueDefault<T> for T
impl<T> IntoValueDefault<T> for T
Source§fn into_value_default(self) -> T
fn into_value_default(self) -> T
Converts this argument into the default value. Read more