Skip to main content

SchemaErrorKind

Enum SchemaErrorKind 

Source
pub enum SchemaErrorKind {
    UnknownType {
        name: String,
        suggestion: Option<String>,
    },
    UnresolvedEnum {
        name: String,
    },
    DuplicateEnum {
        name: String,
    },
    DuplicateVariant {
        enum_name: String,
        variant: String,
    },
    DuplicateField {
        field_name: String,
    },
    DuplicateAlias {
        name: String,
    },
    RecursiveAlias {
        name: String,
    },
    UnresolvedType {
        name: String,
    },
    InvalidMapKeyType {
        found: String,
    },
    InvalidDefault {
        field_name: String,
        expected: String,
        found: String,
    },
    UnexpectedToken {
        expected: String,
        found: String,
    },
}
Expand description

Specific kinds of errors that can occur when parsing a .ronschema file.

Variants§

§

UnknownType

A type name was not recognized (e.g., "Intgeer" instead of "Integer").

Fields

§name: String

The unrecognized type name.

§suggestion: Option<String>

A suggested correction, if one is close enough.

§

UnresolvedEnum

A type references an enum that is never defined in the schema.

Fields

§name: String

The referenced enum name.

§

DuplicateEnum

The same enum name is defined more than once.

Fields

§name: String

The duplicated enum name.

§

DuplicateVariant

The same variant appears more than once within an enum definition.

Fields

§enum_name: String

The enum containing the duplicate.

§variant: String

The duplicated variant name.

§

DuplicateField

The same field name appears more than once within a struct definition.

Fields

§field_name: String

The duplicated field name.

§

DuplicateAlias

The same type alias name is defined more than once.

Fields

§name: String

The duplicated alias name.

§

RecursiveAlias

A type alias references itself, directly or indirectly.

Fields

§name: String

The alias name involved in the cycle.

§

UnresolvedType

A PascalCase name could not be resolved to an enum or type alias.

Fields

§name: String

The unresolved type name.

§

InvalidMapKeyType

A map key type is not valid (must be String, Integer, or an enum type).

Fields

§found: String

A description of the invalid key type.

§

InvalidDefault

A default value does not match the field’s declared type.

Fields

§field_name: String

The field name.

§expected: String

The type expected by the schema.

§found: String

A description of the default value.

§

UnexpectedToken

A syntax error — the parser encountered a token it did not expect.

Fields

§expected: String

What the parser expected at this position.

§found: String

What was actually found.

Trait Implementations§

Source§

impl Clone for SchemaErrorKind

Source§

fn clone(&self) -> SchemaErrorKind

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 SchemaErrorKind

Source§

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

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

impl PartialEq for SchemaErrorKind

Source§

fn eq(&self, other: &SchemaErrorKind) -> 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 Eq for SchemaErrorKind

Source§

impl StructuralPartialEq for SchemaErrorKind

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