pub enum Error {
Parse(ParseError),
InvalidGrammar(String),
AstBuild(BuilderError),
FeaturesDisabled(Vec<FeatureGateError>),
DepthLimit {
limit: usize,
span: Span,
},
AnnotationLimit {
limit: usize,
span: Span,
},
}Expand description
High-Level-Fehler des Top-Level-Parsers.
Vereint Lexer-, Recognition- und Builder-Fehler unter einem Typ, damit Konsumenten nur eine Error-Variante behandeln muessen.
Variants§
Parse(ParseError)
Lexer- oder Recognition-Fehler. Enthaelt den existierenden
ParseError-Variant fuer Token/EOF-Diagnostik.
InvalidGrammar(String)
Grammar-Konstruktions-Fehler. Tritt nur bei korruptem Build der
Grammar-Konstante auf — sollte fuer IDL_42 nie passieren.
AstBuild(BuilderError)
AST-Builder-Fehler. Indiziert Bug im Builder oder Grammar-Drift.
FeaturesDisabled(Vec<FeatureGateError>)
Verwendetes Konstrukt benoetigt ein Feature das in
ParserConfig::features aus ist. Liste aller Verletzungen.
DepthLimit
{-/}-Verschachtelung ueberschreitet MAX_NESTING_DEPTH.
Schutz vor Stack-Overflow im rekursiven CST-Builder
(TS-1-Finding 1).
AnnotationLimit
Aufeinanderfolgende @-Annotations ueberschreiten
MAX_CONSECUTIVE_ANNOTATIONS. Schutz vor quadratischem
Verhalten im linksrekursiven Annotation-Sequence-CST-Build
(TS-1-Finding 2).
Trait Implementations§
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)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()