Skip to main content

ErrorCode

Enum ErrorCode 

Source
#[non_exhaustive]
pub enum ErrorCode {
Show 45 variants InvalidLimits, UnexpectedEof, LengthOverflow, TrailingBytes, AllocationFailed, ArrayLenMismatch, MapLenMismatch, DepthLimitExceeded, TotalItemsLimitExceeded, ArrayLenLimitExceeded, MapLenLimitExceeded, BytesLenLimitExceeded, TextLenLimitExceeded, MessageLenLimitExceeded, ReservedAdditionalInfo, IndefiniteLengthForbidden, NonCanonicalEncoding, MapKeyMustBeText, DuplicateMapKey, NonCanonicalMapOrder, NonCanonicalSetOrder, ForbiddenOrMalformedTag, BignumNotCanonical, BignumMustBeOutsideSafeRange, UnsupportedSimpleValue, IntegerOutsideSafeRange, Utf8Invalid, NegativeZeroForbidden, NonCanonicalNaN, SerdeError, ExpectedMap, ExpectedArray, ExpectedInteger, ExpectedText, ExpectedBytes, ExpectedBool, ExpectedNull, ExpectedFloat, ExpectedEnum, UnknownEnumVariant, PatchConflict, IndexOutOfBounds, InvalidQuery, MissingKey, MalformedCanonical,
}
Expand description

A structured error code identifying the reason a CBOR item was rejected.

This enum is intentionally stable and string-free to support no_std and to remain hot-path friendly.

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.
§

InvalidLimits

Invalid configured limits.

§

UnexpectedEof

Unexpected end-of-input while decoding.

§

LengthOverflow

Arithmetic overflow while computing a length/offset.

§

TrailingBytes

Input contains trailing bytes after the single CBOR data item.

§

AllocationFailed

Memory allocation failed while decoding into owned structures.

§

ArrayLenMismatch

Array builder length mismatch (encoder).

§

MapLenMismatch

Map builder length mismatch (encoder).

§

DepthLimitExceeded

Nesting depth limit exceeded.

§

TotalItemsLimitExceeded

Total items limit exceeded.

§

ArrayLenLimitExceeded

Array length exceeds limits.

§

MapLenLimitExceeded

Map length exceeds limits.

§

BytesLenLimitExceeded

Byte string length exceeds limits.

§

TextLenLimitExceeded

Text string length exceeds limits.

§

MessageLenLimitExceeded

Total input length exceeds limits.

§

ReservedAdditionalInfo

Reserved additional-info value (28..30) was used.

§

IndefiniteLengthForbidden

Indefinite-length encoding was used where forbidden.

§

NonCanonicalEncoding

Non-canonical (non-shortest) integer/length encoding was used.

§

MapKeyMustBeText

Map key was not a CBOR text string.

§

DuplicateMapKey

Duplicate map key detected.

§

NonCanonicalMapOrder

Map keys are not in canonical order.

§

NonCanonicalSetOrder

Set elements are not in strict canonical set order.

§

ForbiddenOrMalformedTag

A forbidden tag was used, or the tag structure is malformed.

§

BignumNotCanonical

Bignum magnitude is not canonical (empty or leading zero).

§

BignumMustBeOutsideSafeRange

Bignum was used for a value within the safe integer range.

§

UnsupportedSimpleValue

Unsupported CBOR simple value.

§

IntegerOutsideSafeRange

Integer outside the int_safe range.

§

Utf8Invalid

Invalid UTF-8 in a text string.

§

NegativeZeroForbidden

Float64 negative zero encoding is forbidden.

§

NonCanonicalNaN

Float64 NaN encoding is not canonical.

§

SerdeError

Serde conversion failed.

§

ExpectedMap

Expected a map at the current location.

§

ExpectedArray

Expected an array at the current location.

§

ExpectedInteger

Expected an integer (safe or bignum) at the current location.

§

ExpectedText

Expected a text string at the current location.

§

ExpectedBytes

Expected a byte string at the current location.

§

ExpectedBool

Expected a boolean at the current location.

§

ExpectedNull

Expected a null at the current location.

§

ExpectedFloat

Expected a float64 at the current location.

§

ExpectedEnum

Expected a CBOR value matching an untagged enum variant.

§

UnknownEnumVariant

Unknown enum variant key.

§

PatchConflict

Patch operations overlap or conflict.

§

IndexOutOfBounds

Array index is out of bounds.

§

InvalidQuery

Invalid query arguments (e.g., output slice length mismatch).

§

MissingKey

Required key missing from map.

§

MalformedCanonical

Malformed canonical CBOR during query traversal.

Trait Implementations§

Source§

impl Clone for ErrorCode

Source§

fn clone(&self) -> ErrorCode

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ErrorCode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ErrorCode

Source§

fn eq(&self, other: &ErrorCode) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ErrorCode

Source§

impl Eq for ErrorCode

Source§

impl StructuralPartialEq for ErrorCode

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.