1c67d6573Sopenharmony_ci#![cfg_attr(feature = "pattern", feature(pattern))] 2c67d6573Sopenharmony_ci 3c67d6573Sopenharmony_cimacro_rules! regex_new { 4c67d6573Sopenharmony_ci ($re:expr) => {{ 5c67d6573Sopenharmony_ci use regex::internal::ExecBuilder; 6c67d6573Sopenharmony_ci ExecBuilder::new($re) 7c67d6573Sopenharmony_ci .bounded_backtracking() 8c67d6573Sopenharmony_ci .build() 9c67d6573Sopenharmony_ci .map(|e| e.into_regex()) 10c67d6573Sopenharmony_ci }}; 11c67d6573Sopenharmony_ci} 12c67d6573Sopenharmony_ci 13c67d6573Sopenharmony_cimacro_rules! regex { 14c67d6573Sopenharmony_ci ($re:expr) => { 15c67d6573Sopenharmony_ci regex_new!($re).unwrap() 16c67d6573Sopenharmony_ci }; 17c67d6573Sopenharmony_ci} 18c67d6573Sopenharmony_ci 19c67d6573Sopenharmony_cimacro_rules! regex_set_new { 20c67d6573Sopenharmony_ci ($re:expr) => {{ 21c67d6573Sopenharmony_ci use regex::internal::ExecBuilder; 22c67d6573Sopenharmony_ci ExecBuilder::new_many($re) 23c67d6573Sopenharmony_ci .bounded_backtracking() 24c67d6573Sopenharmony_ci .build() 25c67d6573Sopenharmony_ci .map(|e| e.into_regex_set()) 26c67d6573Sopenharmony_ci }}; 27c67d6573Sopenharmony_ci} 28c67d6573Sopenharmony_ci 29c67d6573Sopenharmony_cimacro_rules! regex_set { 30c67d6573Sopenharmony_ci ($res:expr) => { 31c67d6573Sopenharmony_ci regex_set_new!($res).unwrap() 32c67d6573Sopenharmony_ci }; 33c67d6573Sopenharmony_ci} 34c67d6573Sopenharmony_ci 35c67d6573Sopenharmony_ci// Must come before other module definitions. 36c67d6573Sopenharmony_ciinclude!("macros_str.rs"); 37c67d6573Sopenharmony_ciinclude!("macros.rs"); 38c67d6573Sopenharmony_ci 39c67d6573Sopenharmony_cimod api; 40c67d6573Sopenharmony_cimod api_str; 41c67d6573Sopenharmony_cimod crazy; 42c67d6573Sopenharmony_cimod flags; 43c67d6573Sopenharmony_cimod fowler; 44c67d6573Sopenharmony_cimod multiline; 45c67d6573Sopenharmony_cimod noparse; 46c67d6573Sopenharmony_cimod regression; 47c67d6573Sopenharmony_cimod replace; 48c67d6573Sopenharmony_cimod searcher; 49c67d6573Sopenharmony_cimod set; 50c67d6573Sopenharmony_cimod suffix_reverse; 51c67d6573Sopenharmony_ci#[cfg(feature = "unicode")] 52c67d6573Sopenharmony_cimod unicode; 53c67d6573Sopenharmony_ci#[cfg(feature = "unicode-perl")] 54c67d6573Sopenharmony_cimod word_boundary; 55c67d6573Sopenharmony_ci#[cfg(feature = "unicode-perl")] 56c67d6573Sopenharmony_cimod word_boundary_unicode; 57