Skip to main content

TranslationErrorKind

Enum TranslationErrorKind 

Source
pub enum TranslationErrorKind {
    NameMismatch {
        remote: Schema,
        local: Schema,
        remote_rust: String,
        local_rust: String,
    },
    KindMismatch {
        remote: Schema,
        local: Schema,
        remote_rust: String,
        local_rust: String,
    },
    MissingRequiredField {
        field: FieldSchema,
        remote_struct: Schema,
    },
    FieldTypeMismatch {
        field_name: String,
        remote_field_type: Schema,
        local_field_type: Schema,
        source: Box<TranslationError>,
    },
    IncompatibleVariantPayload {
        remote_variant: VariantSchema,
        local_variant: VariantSchema,
    },
    SchemaNotFound {
        type_id: SchemaHash,
        side: SchemaSide,
    },
    TupleLengthMismatch {
        remote: Schema,
        local: Schema,
        remote_rust: String,
        local_rust: String,
        remote_len: usize,
        local_len: usize,
    },
    UnresolvedVar {
        name: String,
        side: SchemaSide,
    },
}

Variants§

§

NameMismatch

The root type names don’t match.

Fields

§remote: Schema
§local: Schema
§remote_rust: String
§local_rust: String
§

KindMismatch

The structural kinds don’t match (e.g. remote is enum, local is struct).

Fields

§remote: Schema
§local: Schema
§remote_rust: String
§local_rust: String
§

MissingRequiredField

A required local field has no corresponding remote field and no default.

Fields

§field: FieldSchema

The local field that’s missing from the remote schema.

§remote_struct: Schema

The remote struct schema (so you can see what fields it does have).

§

FieldTypeMismatch

A field exists in both types but the nested types are incompatible.

Fields

§field_name: String
§remote_field_type: Schema
§local_field_type: Schema
§source: Box<TranslationError>

The nested error that explains what exactly is incompatible.

§

IncompatibleVariantPayload

Enum variant payloads are incompatible (e.g. unit vs struct).

Fields

§remote_variant: VariantSchema
§local_variant: VariantSchema
§

SchemaNotFound

A type ID referenced by the remote schema was not found in the registry.

Fields

§type_id: SchemaHash
§side: SchemaSide

Which side was missing it.

§

TupleLengthMismatch

Tuple lengths don’t match.

Fields

§remote: Schema
§local: Schema
§remote_rust: String
§local_rust: String
§remote_len: usize
§local_len: usize
§

UnresolvedVar

A type variable (Var) appeared where a concrete type was expected. This means Var substitution didn’t happen — a bug in the extraction or plan building pipeline.

Fields

§name: String

Trait Implementations§

Source§

impl Debug for TranslationErrorKind

Source§

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

Formats the value using the given formatter. Read more

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