pub enum Error {
Lexer {
error: Error,
span: SourceSpan,
},
Expected {
expected: Token,
found: Option<Token>,
span: SourceSpan,
},
ExpectedEither {
first: Token,
second: Token,
found: Option<Token>,
span: SourceSpan,
},
ExpectedMultiple {
expected: [Option<Token>; 10],
count: usize,
found: Option<Token>,
span: SourceSpan,
},
EmptyType {
ty: &'static str,
kind: &'static str,
span: SourceSpan,
},
InvalidVersion {
version: String,
span: SourceSpan,
},
}
Expand description
Represents a parse error.
Variants§
Lexer
A lexer error occurred.
Fields
§
span: SourceSpan
The span where the error occurred.
Expected
An unexpected token was encountered when a single token was expected.
Fields
§
span: SourceSpan
The span of the found token.
ExpectedEither
An unexpected token was encountered when either one of two tokens was expected.
Fields
§
span: SourceSpan
The span of the found token.
ExpectedMultiple
An unexpected token was encountered when multiple tokens were expected.
Fields
§
span: SourceSpan
The span of the found token.
EmptyType
An empty type was encountered.
Fields
§
span: SourceSpan
The span of the empty type.
InvalidVersion
An invalid semantic version was encountered.
Trait Implementations§
Source§impl Diagnostic for Error
impl Diagnostic for Error
Source§fn code(&self) -> Option<Box<dyn Display + '_>>
fn code(&self) -> Option<Box<dyn Display + '_>>
Unique diagnostic code that can be used to look up more information
about this
Diagnostic
. Ideally also globally unique, and documented
in the toplevel crate’s documentation for easy searching. Rust path
format (foo::bar::baz
) is recommended, but more classic codes like
E0123
or enums will work just fine.Source§fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
Labels to apply to this
Diagnostic
’s Diagnostic::source_code
Source§fn severity(&self) -> Option<Severity>
fn severity(&self) -> Option<Severity>
Diagnostic severity. This may be used by
ReportHandler
s to change the display format
of this diagnostic. Read moreSource§fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn help<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Additional help text related to this
Diagnostic
. Do you have any
advice for the poor soul who’s just run into this issue?Source§fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
URL to visit for a more detailed explanation/help about this
Diagnostic
.Source§fn source_code(&self) -> Option<&dyn SourceCode>
fn source_code(&self) -> Option<&dyn SourceCode>
Source code to apply this
Diagnostic
’s Diagnostic::labels
to.Additional related
Diagnostic
s.Source§fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
The cause of the error.
Source§impl Error for Error
impl Error for Error
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
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
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnwindSafe for Error
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