#[non_exhaustive]
pub enum Error {
Syntax(String),
CompiledTooBig(usize),
}
Expand description
An error that occurred during parsing or compiling a regular expression.
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
The compiled program exceeded the set size
limit. The argument is the size limit imposed by
RegexBuilder::size_limit
. Even
when not configured explicitly, it defaults to a reasonable limit.
If you’re getting this error, it occurred because your regex has been
compiled to an intermediate state that is too big. It is important to
note that exceeding this limit does not mean the regex is too big to
work, but rather, the regex is big enough that it may wind up being
surprisingly slow when used in a search. In other words, this error is
meant to be a practical heuristic for avoiding a performance footgun,
and especially so for the case where the regex pattern is coming from
an untrusted source.
There are generally two ways to move forward if you hit this error.
The first is to find some way to use a smaller regex. The second is to
increase the size limit via RegexBuilder::size_limit
. However, if
your regex pattern is not from a trusted source, then neither of these
approaches may be appropriate. Instead, you’ll have to determine just
how big of a regex you want to allow.
Performs copy-assignment from
source
.
Read more
Formats the value using the given formatter.
Read more
Formats the value using the given formatter.
Read more
👎Deprecated since 1.42.0: use the Display impl or to_string()
The lower-level source of this error, if any.
Read more
👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
🔬This is a nightly-only experimental API. (error_generic_member_access
)
Provides type based access to context intended for error reports.
Read more
This method tests for self
and other
values to be equal, and is used
by ==
.
This method tests for !=
. The default implementation is almost always
sufficient, and should not be overridden without very good reason.
Immutably borrows from an owned value.
Read more
Mutably borrows from an owned value.
Read more
Returns the argument unchanged.
Calls U::from(self)
.
That is, this conversion is whatever the implementation of
From<T> for U
chooses to do.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning.
Read more
Uses borrowed data to replace owned data, usually by cloning.
Read more
Converts the given value to a
String
.
Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.