Skip to main content

TranscodeEncodeError

Enum TranscodeEncodeError 

Source
pub enum TranscodeEncodeError<E, V> {
    Failure(TranscodeFailure),
    Unencodable {
        input_index: usize,
        value: Option<V>,
    },
    Domain(TranscodeDomainError<E>),
}
Expand description

Error reported by an encode-oriented transcode operation.

§Type Parameters

  • E: Domain error preserved from the codec or policy.
  • V: Optional owned context for an unencodable input value.

§Examples

use qubit_codec::TranscodeEncodeError;

let error = TranscodeEncodeError::<(), u8>::unencodable(3, 255);
assert_eq!(error.unencodable_ref(), Some((3, Some(&255))));

Variants§

§

Failure(TranscodeFailure)

Framework-level transcode failure.

Tuple Fields

§0: TranscodeFailure

Framework contract failure preserved as the error source.

§

Unencodable

The input value cannot be encoded by the target codec and policy.

Fields

§input_index: usize

Absolute input index of the value being encoded.

§value: Option<V>

Some owns the rejected value; None means value context was unavailable.

§

Domain(TranscodeDomainError<E>)

Domain-specific codec, charset, or policy error.

Tuple Fields

§0: TranscodeDomainError<E>

Owned domain source and its reset, main, or finish context.

Implementations§

Source§

impl<E, V> TranscodeEncodeError<E, V>

Source

pub const fn domain_reset(source: E) -> Self

Creates a reset-phase domain-specific transcode error.

§Parameters
  • source: Owned domain error from reset.
§Returns

Returns a domain error carrying reset-phase context.

Source

pub const fn domain_main(source: E, input_index: usize) -> Self

Creates a main-phase domain-specific transcode error.

§Parameters
  • source: Owned domain error during encoding.
  • input_index: Absolute index of the failed input value.
§Returns

Returns a domain error carrying the input index and main-phase context.

Source

pub const fn domain_finish(source: E) -> Self

Creates a finish-phase domain-specific transcode error.

§Parameters
  • source: Owned domain error from finalization.
§Returns

Returns a domain error carrying finish-phase context.

Source

pub fn unencodable(input_index: usize, value: V) -> Self

Creates an unencodable-value error with value context.

§Parameters
  • input_index: Absolute index of the rejected value.
  • value: Rejected value transferred into the error.
§Returns

Returns an unencodable error with owned value context.

Source

pub const fn unencodable_without_context(input_index: usize) -> Self

Creates an unencodable-value error without value context.

§Parameters
  • input_index: Absolute index of the rejected input.
§Returns

Returns an unencodable error with no retained value.

Source

pub const fn is_domain(&self) -> bool

Returns whether this error wraps a domain error.

§Returns

Returns true only for the Domain variant.

Source

pub const fn failure_ref(&self) -> Option<&TranscodeFailure>

Returns the framework failure carried by this error.

§Returns

Returns Some borrowed framework failure for Failure, otherwise None.

Source

pub const fn domain_error_ref(&self) -> Option<&TranscodeDomainError<E>>

Borrows the wrapped domain error and transcode context.

§Returns

Returns Some borrowed domain error and phase context for Domain, or None for framework and unencodable errors.

Source

pub const fn domain_ref(&self) -> Option<&E>

Borrows the wrapped domain error.

§Returns

Returns Some borrowed domain source for Domain, otherwise None.

Source

pub const fn unencodable_ref(&self) -> Option<(usize, Option<&V>)>

Borrows the unencodable value context carried by this error.

§Returns

Returns Some((index, value)) for Unencodable, otherwise None. The nested option is Some when a retained value can be borrowed, and None when the error has only an input index.

Source

pub fn map_domain<F, T>(self, f: F) -> TranscodeEncodeError<T, V>
where F: FnOnce(E) -> T,

Maps the wrapped domain error while preserving other errors.

§Type Parameters
  • F: Callback consuming the domain source.
  • T: Replacement domain error type.
§Parameters
  • f: Called exactly once for Domain, never for other variants.
§Returns

Returns an error with the transformed domain source while preserving phase, input position, framework failures, and unencodable value context.

Source

pub fn map_value<F, W>(self, f: F) -> TranscodeEncodeError<E, W>
where F: FnOnce(V) -> W,

Maps value context carried by unencodable-value errors.

§Type Parameters
  • F: Callback consuming a retained value.
  • W: Replacement value-context type.
§Parameters
  • f: Called once for a retained unencodable value, otherwise not called.
§Returns

Returns an error with transformed value context; absent context and other variants are preserved.

Trait Implementations§

Source§

impl<E: Clone, V: Clone> Clone for TranscodeEncodeError<E, V>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<E: Debug, V: Debug> Debug for TranscodeEncodeError<E, V>

Source§

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

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

impl<E, V> Display for TranscodeEncodeError<E, V>

Source§

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

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

impl<E: Eq, V: Eq> Eq for TranscodeEncodeError<E, V>

Source§

impl<E, V> Error for TranscodeEncodeError<E, V>

Source§

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

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl<E, V> From<CapacityError> for TranscodeEncodeError<E, V>

Source§

fn from(error: CapacityError) -> Self

Converts capacity planning errors into transcode framework errors.

§Parameters
  • error: Capacity failure from output planning.
§Returns

Returns the corresponding framework failure variant.

Source§

impl<E, V> From<TranscodeDomainError<E>> for TranscodeEncodeError<E, V>

Source§

fn from(source: TranscodeDomainError<E>) -> Self

Converts to this type from the input type.
Source§

impl<DE, EE, V> From<TranscodeEncodeError<EE, V>> for TranscodeConvertError<DE, EE, V>

Source§

fn from(error: TranscodeEncodeError<EE, V>) -> Self

Converts a target-side encode error into a converter error.

§Parameters
  • error: Owned failure to convert without discarding its context.
§Returns

Returns the corresponding converter variant preserving the original cause.

Source§

impl<E, V> From<TranscodeFailure> for TranscodeEncodeError<E, V>

Source§

fn from(source: TranscodeFailure) -> Self

Converts to this type from the input type.
Source§

impl<E: Hash, V: Hash> Hash for TranscodeEncodeError<E, V>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<E: PartialEq, V: PartialEq> PartialEq for TranscodeEncodeError<E, V>

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl<E: PartialEq, V: PartialEq> StructuralPartialEq for TranscodeEncodeError<E, V>

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> 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.