pub enum ParseError {
Show 19 variants
UnexpectedToken {
expected: String,
found: String,
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
UnexpectedEof {
expected: String,
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
InvalidNumber {
reason: String,
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
TableRowLengthMismatch {
expected: usize,
got: usize,
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
InvalidDomainBoundKey {
key: String,
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
UnknownToken {
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
MultiDeclTupleArity {
slot_count: usize,
tuple_count: usize,
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
MultiDeclHeaderArity {
slot_count: usize,
header_count: usize,
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
MultiDeclRowArity {
slot_count: usize,
got: usize,
row_label: String,
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
MultiDeclSingleSlot {
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
MultiDeclNoSharedAxis {
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
MultiDeclUnsupportedShape {
reason: String,
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
InlineDagCallMissingProjection {
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
TooDeeplyNested {
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
UnitReferenceTooDeep {
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
ZeroExponent {
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
DuplicatePlotField {
field: String,
context: String,
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
MissingPlotEncoding {
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
EmptyCompositionPlots {
kind: &'static str,
src: NamedSource<Arc<String>>,
span: SourceSpan,
},
}Expand description
Rich parse error with miette diagnostics.
Variants§
UnexpectedToken
UnexpectedEof
InvalidNumber
TableRowLengthMismatch
InvalidDomainBoundKey
UnknownToken
MultiDeclTupleArity
MultiDeclHeaderArity
MultiDeclRowArity
MultiDeclSingleSlot
MultiDeclUnsupportedShape
InlineDagCallMissingProjection
TooDeeplyNested
UnitReferenceTooDeep
ZeroExponent
DuplicatePlotField
MissingPlotEncoding
EmptyCompositionPlots
Implementations§
Source§impl ParseError
impl ParseError
Sourcepub const fn named_source(&self) -> &NamedSource<Arc<String>>
pub const fn named_source(&self) -> &NamedSource<Arc<String>>
Return the NamedSource embedded in this error.
Every variant carries the file’s name and full source text via miette’s
#[source_code] field. Exposing it as a typed accessor lets diagnostic
emitters pair the error’s offsets with the exact source they index into
— instead of inferring (name, source) from external context, which can
silently desynchronize when an imported file is the origin.
Trait Implementations§
Source§impl Clone for ParseError
impl Clone for ParseError
Source§fn clone(&self) -> ParseError
fn clone(&self) -> ParseError
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ParseError
impl Debug for ParseError
Source§impl Diagnostic for ParseError
impl Diagnostic for ParseError
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 help(&self) -> Option<Box<dyn Display + '_>>
fn help(&self) -> Option<Box<dyn Display + '_>>
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 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_codeSource§fn source_code(&self) -> Option<&dyn SourceCode>
fn source_code(&self) -> Option<&dyn SourceCode>
Source code to apply this
Diagnostic’s Diagnostic::labels to.Source§fn severity(&self) -> Option<Severity>
fn severity(&self) -> Option<Severity>
Diagnostic severity. This may be used by
ReportHandlers to change the display format
of this diagnostic. Read moreSource§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.Additional related
Diagnostics.Source§fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
fn diagnostic_source(&self) -> Option<&dyn Diagnostic>
The cause of the error.
Source§impl Display for ParseError
impl Display for ParseError
Source§impl Error for ParseError
impl Error for ParseError
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 ParseError
impl RefUnwindSafe for ParseError
impl Send for ParseError
impl Sync for ParseError
impl Unpin for ParseError
impl UnsafeUnpin for ParseError
impl UnwindSafe for ParseError
Blanket Implementations§
Source§impl<T> AsErrorSource for Twhere
T: Error + 'static,
impl<T> AsErrorSource for Twhere
T: Error + 'static,
Source§fn as_error_source(&self) -> &(dyn Error + 'static)
fn as_error_source(&self) -> &(dyn Error + 'static)
For maximum effectiveness, this needs to be called as a method
to benefit from Rust’s automatic dereferencing of method
receivers.
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