Enum ParseErrorKind
#[non_exhaustive]pub enum ParseErrorKind {
Lex(Error),
Syntax {
span: Span,
message: String,
},
ItemNotFound {
span: Span,
name: String,
kind: String,
hint: Option<String>,
},
TypeCycle {
span: Span,
name: String,
kind: String,
},
}Expand description
The category of error that occurred while parsing a WIT package.
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.
Lex(Error)
Lexer error (invalid character, unterminated comment, etc.)
Syntax
Syntactic or semantic error within a single package (duplicate name, invalid attribute, etc.)
ItemNotFound
A type/interface/world references a name that does not exist within the same package.
TypeCycle
A type/interface/world depends on itself.
Implementations§
§impl ParseErrorKind
impl ParseErrorKind
Trait Implementations§
§impl Debug for ParseErrorKind
impl Debug for ParseErrorKind
§impl Display for ParseErrorKind
impl Display for ParseErrorKind
impl Eq for ParseErrorKind
§impl From<ParseErrorKind> for ParseError
impl From<ParseErrorKind> for ParseError
§fn from(kind: ParseErrorKind) -> ParseError
fn from(kind: ParseErrorKind) -> ParseError
Converts to this type from the input type.
§impl PartialEq for ParseErrorKind
impl PartialEq for ParseErrorKind
impl StructuralPartialEq for ParseErrorKind
Auto Trait Implementations§
impl Freeze for ParseErrorKind
impl RefUnwindSafe for ParseErrorKind
impl Send for ParseErrorKind
impl Sync for ParseErrorKind
impl Unpin for ParseErrorKind
impl UnsafeUnpin for ParseErrorKind
impl UnwindSafe for ParseErrorKind
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
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more