Enum regex_syntax::ast::ErrorKind
[−]
[src]
pub enum ErrorKind {
CaptureLimitExceeded,
ClassEscapeInvalid,
ClassRangeInvalid,
ClassUnclosed,
DecimalEmpty,
DecimalInvalid,
EscapeHexEmpty,
EscapeHexInvalid,
EscapeHexInvalidDigit,
EscapeUnexpectedEof,
EscapeUnrecognized,
FlagDanglingNegation,
FlagDuplicate {
original: Span,
},
FlagRepeatedNegation {
original: Span,
},
FlagUnexpectedEof,
FlagUnrecognized,
GroupNameDuplicate {
original: Span,
},
GroupNameEmpty,
GroupNameInvalid,
GroupNameUnexpectedEof,
GroupUnclosed,
GroupUnopened,
NestLimitExceeded(u32),
RepetitionCountInvalid,
RepetitionCountUnclosed,
RepetitionMissing,
UnsupportedBackreference,
UnsupportedLookAround,
// some variants omitted
}The type of an error that occurred while building an AST.
Variants
CaptureLimitExceededThe capturing group limit was exceeded.
Note that this represents a limit on the total number of capturing groups in a regex and not necessarily the number of nested capturing groups. That is, the nest limit can be low and it is still possible for this error to occur.
ClassEscapeInvalidAn invalid escape sequence was found in a character class set.
ClassRangeInvalidAn invalid character class range was found. An invalid range is any range where the start is greater than the end.
ClassUnclosedAn opening [ was found with no corresponding closing ].
DecimalEmptyAn empty decimal number was given where one was expected.
DecimalInvalidAn invalid decimal number was given where one was expected.
EscapeHexEmptyA bracketed hex literal was empty.
EscapeHexInvalidA bracketed hex literal did not correspond to a Unicode scalar value.
EscapeHexInvalidDigitAn invalid hexadecimal digit was found.
EscapeUnexpectedEofEOF was found before an escape sequence was completed.
EscapeUnrecognizedAn unrecognized escape sequence.
FlagDanglingNegationA dangling negation was used when setting flags, e.g., i-.
FlagDuplicateA flag was used twice, e.g., i-i.
Fields of FlagDuplicate
original: Span | The position of the original flag. The error position points to the duplicate flag. |
FlagRepeatedNegationThe negation operator was used twice, e.g., -i-s.
Fields of FlagRepeatedNegation
original: Span | The position of the original negation operator. The error position points to the duplicate negation operator. |
FlagUnexpectedEofExpected a flag but got EOF, e.g., (?.
FlagUnrecognizedUnrecognized flag, e.g., a.
GroupNameDuplicateA duplicate capture name was found.
Fields of GroupNameDuplicate
original: Span | The position of the initial occurrence of the capture name. The error position itself points to the duplicate occurrence. |
GroupNameEmptyA capture group name is empty, e.g., (?P<>abc).
GroupNameInvalidAn invalid character was seen for a capture group name. This includes errors where the first character is a digit (even though subsequent characters are allowed to be digits).
GroupNameUnexpectedEofA closing > could not be found for a capture group name.
GroupUnclosedAn unclosed group, e.g., (ab.
The span of this error corresponds to the unclosed parenthesis.
GroupUnopenedAn unopened group, e.g., ab).
NestLimitExceeded(u32)The nest limit was exceeded. The limit stored here is the limit configured in the parser.
RepetitionCountInvalidThe range provided in a counted repetition operator is invalid. The range is invalid if the start is greater than the end.
RepetitionCountUnclosedAn opening { was found with no corresponding closing }.
RepetitionMissingA repetition operator was applied to a missing sub-expression. This
occurs, for example, in the regex consisting of just a *. It is,
however, possible to create a repetition operating on an empty
sub-expression. For example, ()* is still considered valid.
UnsupportedBackreferenceWhen octal support is disabled, this error is produced when an octal escape is used. The octal escape is assumed to be an invocation of a backreference, which is the common case.
UnsupportedLookAroundWhen syntax similar to PCRE's look-around is used, this error is
returned. Some example syntaxes that are rejected include, but are
not necessarily limited to, (?=re), (?!re), (?<=re) and
(?<!re). Note that all of these syntaxes are otherwise invalid; this
error is used to improve the user experience.
Trait Implementations
impl Clone for ErrorKind[src]
fn clone(&self) -> ErrorKind[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl Debug for ErrorKind[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result[src]
Formats the value using the given formatter. Read more
impl Eq for ErrorKind[src]
impl PartialEq for ErrorKind[src]
fn eq(&self, __arg_0: &ErrorKind) -> bool[src]
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &ErrorKind) -> bool[src]
This method tests for !=.