Mercurial > public > mercurial-scm > hg
view rust/hg-core/src/re2/mod.rs @ 44353:54d185eb24b5
rust-matchers: implement `visit_children_set` for `FileMatcher`
As per the removed inline comment, this will become useful in a future patch
in this series as the `IncludeMatcher` is introduced.
Differential Revision: https://phab.mercurial-scm.org/D7914
author | Rapha?l Gom?s <rgomes@octobus.net> |
---|---|
date | Thu, 16 Jan 2020 23:06:01 +0100 |
parents | d8d4fa9a7f18 |
children |
line wrap: on
line source
/// re2 module /// /// The Python implementation of Mercurial uses the Re2 regex engine when /// possible and if the bindings are installed, falling back to Python's `re` /// in case of unsupported syntax (Re2 is a non-backtracking engine). /// /// Using it from Rust is not ideal. We need C++ bindings, a C++ compiler, /// Re2 needs to be installed... why not just use the `regex` crate? /// /// Using Re2 from the Rust implementation guarantees backwards compatibility. /// We know it will work out of the box without needing to figure out the /// subtle differences in syntax. For example, `regex` currently does not /// support empty alternations (regex like `a||b`) which happens more often /// than we might think. Old benchmarks also showed worse performance from /// regex than with Re2, but the methodology and results were lost, so take /// this with a grain of salt. /// /// The idea is to use Re2 for now as a temporary phase and then investigate /// how much work would be needed to use `regex`. mod re2; pub use re2::Re2;