#[non_exhaustive]#[repr(u16)]pub enum DiagnosticCode {
Show 17 variants
Unspecified = 0,
UnexpectedEndOfInput = 1,
UnclosedExpression = 2,
UnclosedQuotedLiteral = 3,
UnclosedQuotedPattern = 4,
InvalidDeclarationStart = 5,
InvalidMatcherSyntax = 6,
InvalidVariantBoundary = 7,
InvalidMarkupBoundary = 8,
MissingComplexBody = 9,
UnexpectedToken = 10,
SpanOverflow = 11,
InvalidEscape = 12,
AmbiguousMessageMode = 13,
MissingRequiredWhitespace = 14,
MissingIdentifierName = 15,
InvalidInputDeclaration = 16,
}Expand description
Diagnostic code. The catalog is part of the parser’s snapshot compatibility surface — do not reuse a code for a different message.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Unspecified = 0
UnexpectedEndOfInput = 1
Required syntax was missing (e.g. } after { placeholder).
UnclosedExpression = 2
A { was opened but its matching } was never found.
UnclosedQuotedLiteral = 3
A | was opened but its closing | was never found.
UnclosedQuotedPattern = 4
A {{ was opened but its closing }} was never found.
InvalidDeclarationStart = 5
Input began with . but did not match .input, .local, or .match.
InvalidMatcherSyntax = 6
Matcher body found but missing required selector or variant.
InvalidVariantBoundary = 7
Variant key sequence was malformed (e.g. missing key before {{).
InvalidMarkupBoundary = 8
Markup open / close / standalone syntax was malformed.
MissingComplexBody = 9
Declarations were present but no complex body followed.
UnexpectedToken = 10
Source token did not match any production.
SpanOverflow = 11
Source length or span exceeded u32::MAX.
InvalidEscape = 12
\ was followed by a character that is not \\, {, |, or }.
AmbiguousMessageMode = 13
Mode detection failed; recovered as a simple message.
MissingRequiredWhitespace = 14
A required s separator (at least one ws) was missing between
adjacent productions (e.g. .local$x, {$x:func}, {#tag@attr}).
MissingIdentifierName = 15
A namespace ":" was given but the trailing name was absent
(e.g. {:foo:}, {#ns:}).
InvalidInputDeclaration = 16
.input declaration value was not a variable expression
(e.g. .input {|x|}, .input {:f}, .input {#m}).
Implementations§
Source§impl DiagnosticCode
impl DiagnosticCode
Sourcepub const fn severity(self) -> DiagnosticSeverity
pub const fn severity(self) -> DiagnosticSeverity
Severity associated with this code. Single source of truth used by the catalog so the parser does not embed severity at every emit site.
Sourcepub const fn static_message(self) -> &'static str
pub const fn static_message(self) -> &'static str
Human-readable static message. No allocation, no formatting.
Trait Implementations§
Source§impl Clone for DiagnosticCode
impl Clone for DiagnosticCode
Source§fn clone(&self) -> DiagnosticCode
fn clone(&self) -> DiagnosticCode
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for DiagnosticCode
Source§impl Debug for DiagnosticCode
impl Debug for DiagnosticCode
impl Eq for DiagnosticCode
Source§impl Hash for DiagnosticCode
impl Hash for DiagnosticCode
Source§impl PartialEq for DiagnosticCode
impl PartialEq for DiagnosticCode
Source§fn eq(&self, other: &DiagnosticCode) -> bool
fn eq(&self, other: &DiagnosticCode) -> bool
self and other values to be equal, and is used by ==.