Enum Error
enum Error
An error that occurred during parsing or compiling a regular expression.
Variants
-
Syntax(alloc::string::String) A syntax error.
-
CompiledTooBig(usize) 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.
Implementations
impl Clone for Error
fn clone(self: &Self) -> Error
impl Debug for Error
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Display for Error
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Error for Error
fn description(self: &Self) -> &str
impl Freeze for Error
impl PartialEq for Error
fn eq(self: &Self, other: &Error) -> bool
impl RefUnwindSafe for Error
impl Send for Error
impl StructuralPartialEq for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl UnwindSafe for Error
impl<T> Any for Error
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for Error
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for Error
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for Error
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for Error
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for Error
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T> ToString for Error
fn to_string(self: &Self) -> String
impl<T, U> Into for Error
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for Error
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for Error
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>