You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#1643 disabled many deafault features of the
`regex` crate but left the `unicode` meta feature enabled. With the
`unicode` feature enabled and `bindgen` as a build dependency,
`regex-syntax` (a direct dependency of the `regex` crate) takes 7
seconds to compile as a build dependency in my application.
The `unicode` feature includes support for many Unicode character class
lookups which I find unlikely that bindgen uses.
From https://docs.rs/regex/latest/regex/#unicode-features:
> - unicode-age - Provide the data for the Unicode Age property. This
> makes it possible to use classes like `\p{Age:6.0}` to refer to all
> codepoints first introduced in Unicode 6.0
> - unicode-bool - Provide the data for numerous Unicode boolean
> properties. The full list is not included here, but contains
> properties like `Alphabetic`, `Emoji`, `Lowercase`, `Math`,
> `Uppercase` and `White_Space`.
> - unicode-case - Provide the data for case insensitive matching using
> Unicode's "simple loose matches" specification.
> - unicode-gencat - Provide the data for Unicode general categories.
> This includes, but is not limited to, `Decimal_Number`, `Letter`,
> `Math_Symbol`, `Number` and `Punctuation`.
> - unicode-script - Provide the data for Unicode scripts and script
> extensions. This includes, but is not limited to, `Arabic`, `Cyrillic`,
> `Hebrew`, `Latin` and `Thai`.
> - unicode-segment - Provide the data necessary to provide the
> properties used to implement the Unicode text segmentation
> algorithms. This enables using classes like `\p{gcb=Extend}`,
> `\p{wb=Katakana}` and `\p{sb=ATerm}`.
I have retained the `unicode-perl` feature, which gives support for
`\w`, `\s` and `\d`, because these character classes were required
to get tests to pass.
Removing support for these character classes removes the need to compile
many data tables, which should significantly reduce compile times.
0 commit comments