4 Commits

Author SHA1 Message Date
Andrew Gallant
0abcada3a7 ci: test scripts should fail on errors
While these test scripts are running in CI, if any of their commands
fail, they don't actually fail the build.
2021-05-01 18:52:18 -04:00
Andrew Gallant
e98090db75 regex: support perf-literal
This commit enables support for the perf-literal feature. When it's
disabled, no literal optimizations will be performed. Instead, only
the regex engine itself is used.

In practice, it's quite plausible that we don't need to disable *all*
literal optimizations. But that is the simplest path here, and I don't
have the stomach to do anything more with the current code. src/exec.rs
has turned into a giant soup.
2019-09-03 12:35:17 -04:00
Andrew Gallant
096a5ea8ea regex: support perf-inline
This makes all uses of `#[inline(always)]` conditional on the
`perf-inline` feature. This should reduce compile times and binary size,
but may decrease match performance.
2019-09-03 12:35:17 -04:00
Andrew Gallant
1e7efa4180 regex: add unicode and perf features
This commit sets up the infrastructure for supporting various `unicode`
and `perf` features, which permit decreasing binary size, compile times
and the size of the dependency tree.

Most of the work here is in modifying the regex tests to make them
work in concert with the available Unicode features. In cases where
Unicode is irrelevant, we just turn it off. In other cases, we require
the Unicode features to run the tests.

This also introduces a new error in the compiler where by if a Unicode
word boundary is used, but the `unicode-perl` feature is disabled, then
the regex will fail to compile. (Because the necessary data to match
Unicode word boundaries isn't available.)
2019-09-03 12:35:17 -04:00