monster-regex 0.2.2

A custom regex spec
Documentation
   Compiling monster-regex v0.2.1 (C:\Users\TJ\Documents\Code\rust\monster-regex)
warning: fields `group_count` and `named_groups` are never read
  --> src\engine\linear\mod.rs:79:5
   |
75 | pub struct LinearRegex {
   |            ----------- fields in this struct
...
79 |     group_count: usize,
   |     ^^^^^^^^^^^
80 |     named_groups: HashMap<String, usize>,
   |     ^^^^^^^^^^^^
   |
   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: method `reset` is never used
  --> src\engine\linear\vm.rs:67:8
   |
58 | impl VMContext {
   | -------------- method in this implementation
...
67 |     fn reset(&mut self) {
   |        ^^^^^

warning: `monster-regex` (lib) generated 2 warnings
warning[E0133]: call to unsafe function `std::alloc::GlobalAlloc::alloc` is unsafe and requires unsafe block
  --> src\bin\heatmap.rs:15:19
   |
15 |         let ptr = System.alloc(layout);
   |                   ^^^^^^^^^^^^^^^^^^^^ call to unsafe function
   |
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
   = note: consult the function's documentation for information on how to avoid undefined behavior
note: an unsafe function restricts its caller, but its body is safe by default
  --> src\bin\heatmap.rs:14:5
   |
14 |     unsafe fn alloc(&self, layout: Layout) -> *mut u8 {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default

warning[E0133]: call to unsafe function `std::alloc::GlobalAlloc::dealloc` is unsafe and requires unsafe block
  --> src\bin\heatmap.rs:40:9
   |
40 |         System.dealloc(ptr, layout)
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
   |
   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
   = note: consult the function's documentation for information on how to avoid undefined behavior
note: an unsafe function restricts its caller, but its body is safe by default
  --> src\bin\heatmap.rs:38:5
   |
38 |     unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout) {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: field `iterations` is never read
  --> src\bin\heatmap.rs:66:5
   |
61 | struct ProfileResult {
   |        ------------- field in this struct
...
66 |     iterations: usize,
   |     ^^^^^^^^^^
   |
   = note: `ProfileResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default

warning: variable `iterations` is assigned to, but never used
  --> src\bin\perf.rs:31:9
   |
31 |     let mut iterations = 0;
   |         ^^^^^^^^^^^^^^
   |
   = note: consider using `_iterations` instead
   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default

warning: value assigned to `iterations` is never read
  --> src\bin\perf.rs:34:9
   |
34 |         iterations += 1;
   |         ^^^^^^^^^^^^^^^
   |
   = help: maybe it is overwritten before being read?
   = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default

warning: `monster-regex` (lib test) generated 2 warnings (2 duplicates)
For more information about this error, try `rustc --explain E0133`.
warning: `monster-regex` (bin "heatmap" test) generated 3 warnings (run `cargo fix --bin "heatmap" -p monster-regex --tests` to apply 2 suggestions)
warning: `monster-regex` (bin "perf" test) generated 2 warnings
    Finished `test` profile [unoptimized + debuginfo] target(s) in 2.54s
     Running unittests src\lib.rs (target\debug\deps\monster_regex-c50f686d40a9cfc1.exe)

running 75 tests
test tests::api::test_flags_default ... ok
test engine::linear::tests::tests::test_dot ... FAILED
test engine::linear::tests::tests::test_anchors ... FAILED
test engine::linear::tests::tests::test_flags ... FAILED
test engine::linear::tests::tests::test_classes ... FAILED
test engine::linear::tests::tests::test_leftmost_longest ... FAILED
test engine::linear::tests::tests::test_alternation ... FAILED
test engine::linear::tests::tests::test_word_boundaries ... FAILED
test engine::linear::tests::tests::test_haystack_compatibility ... FAILED
test engine::linear::tests::tests::test_literal ... FAILED
test tests::api::test_regex_compilation ... ok
test engine::linear::tests::tests::test_quantifiers ... FAILED
test tests::api::test_regex_methods_existence ... ok
test tests::captures::test_captures_access ... ok
test tests::engine::test_custom_sets ... ok
test tests::captures::test_match_methods ... ok
test tests::engine::test_anchors ... ok
test tests::captures::test_captures_optional_groups ... ok
test tests::engine::test_complex_lookarounds ... ok
test tests::engine::test_alternation ... ok
test tests::engine::test_dot ... ok
test tests::engine::test_escape_sequences ... ok
test tests::engine::test_extended_classes ... ok
test tests::engine::test_flags_case_sensitivity ... ok
test tests::engine::test_flags_multiline ... ok
test tests::engine::test_flags_verbose ... ok
test tests::engine::test_grouping ... ok
test tests::engine::test_literals ... ok
test tests::engine::test_ipv4 ... ok
test tests::engine::test_lookahead ... ok
test tests::engine::test_lookbehind ... ok
test tests::engine::test_match_boundaries_zs_ze ... ok
test tests::engine::test_named_group ... ok
test tests::engine::test_non_capturing_group ... ok
test tests::engine::test_quantifiers_greedy ... ok
test tests::engine::test_quantifiers_lazy ... ok
test tests::engine::test_replace ... ok
test tests::engine::test_replace_all ... ok
test tests::engine::test_replace_groups ... ok
test tests::engine::test_special_characters_escaped ... ok
test tests::engine::test_standard_classes ... ok
test tests::engine::test_unicode_flag ... ok
test tests::engine::test_word_boundaries ... ok
test tests::flags::test_combined_flags ... ok
test tests::flags::test_dotall_flag ... ok
test tests::flags::test_global_flag ... ok
test tests::flags::test_ignore_case_flag ... ok
test tests::flags::test_multiline_flag ... ok
test tests::flags::test_unicode_flag ... ok
test tests::flags::test_verbose_flag ... ok
test tests::linear_api::test_fallback_api ... ok
test tests::linear_api::test_linear_basic_match ... FAILED
test tests::linear_api::test_linear_captures ... FAILED
test tests::parser::test_char_class ... ok
test tests::parser::test_dot ... ok
test tests::parser::test_escape_classes ... ok
test tests::parser::test_group ... ok
test tests::parser::test_literal ... ok
test tests::parser::test_lookarounds ... ok
test tests::parser::test_quantifiers ... ok
test tests::regex_stubs::test_stub_captures ... ok
test tests::regex_stubs::test_stub_find ... ok
test tests::regex_stubs::test_stub_iterators ... ok
test tests::regex_stubs::test_stub_replace ... ok
test tests::regex_stubs::test_stub_replace_all ... ok
test tests::rift_parsing::test_parse_rift_format ... ok
test tests::rift_parsing::test_parse_rift_format_complex ... ok
test tests::rift_parsing::test_parse_rift_format_errors ... ok
test tests::rift_parsing::test_parse_rift_format_special_chars ... ok
test tests::streaming::test_chunked_anchors ... ok
test tests::streaming::test_chunked_backref ... ok
test tests::streaming::test_chunked_boundary_match ... ok
test tests::streaming::test_chunked_simple_match ... ok
test tests::streaming::test_chunked_word_boundary ... ok
test tests::streaming::test_find_all_chunks ... ok

failures:

---- engine::linear::tests::tests::test_dot stdout ----

thread 'engine::linear::tests::tests::test_dot' (42104) panicked at src\engine\linear\tests.rs:74:9:
assertion `left == right` failed
  left: None
 right: Some((0, 1))

---- engine::linear::tests::tests::test_anchors stdout ----

thread 'engine::linear::tests::tests::test_anchors' (44576) panicked at src\engine\linear\tests.rs:80:9:
assertion `left == right` failed
  left: None
 right: Some((0, 1))

---- engine::linear::tests::tests::test_flags stdout ----

thread 'engine::linear::tests::tests::test_flags' (31088) panicked at src\engine\linear\tests.rs:243:9:
assertion `left == right` failed
  left: None
 right: Some((0, 1))

---- engine::linear::tests::tests::test_classes stdout ----

thread 'engine::linear::tests::tests::test_classes' (19156) panicked at src\engine\linear\tests.rs:230:9:
assertion `left == right` failed
  left: None
 right: Some((0, 1))

---- engine::linear::tests::tests::test_leftmost_longest stdout ----

thread 'engine::linear::tests::tests::test_leftmost_longest' (29548) panicked at src\engine\linear\tests.rs:256:9:
assertion `left == right` failed
  left: Some((0, 0))
 right: Some((0, 3))

---- engine::linear::tests::tests::test_alternation stdout ----

thread 'engine::linear::tests::tests::test_alternation' (23920) panicked at src\engine\linear\tests.rs:43:9:
assertion `left == right` failed
  left: None
 right: Some((0, 3))
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- engine::linear::tests::tests::test_word_boundaries stdout ----

thread 'engine::linear::tests::tests::test_word_boundaries' (42948) panicked at src\engine\linear\tests.rs:222:9:
assertion `left == right` failed
  left: None
 right: Some((1, 5))

---- engine::linear::tests::tests::test_haystack_compatibility stdout ----

thread 'engine::linear::tests::tests::test_haystack_compatibility' (19924) panicked at src\engine\linear\tests.rs:213:43:
Match not found

---- engine::linear::tests::tests::test_literal stdout ----

thread 'engine::linear::tests::tests::test_literal' (22248) panicked at src\engine\linear\tests.rs:36:9:
assertion `left == right` failed
  left: None
 right: Some((0, 3))

---- engine::linear::tests::tests::test_quantifiers stdout ----

thread 'engine::linear::tests::tests::test_quantifiers' (41912) panicked at src\engine\linear\tests.rs:50:9:
assertion `left == right` failed
  left: Some((0, 0))
 right: Some((0, 3))

---- tests::linear_api::test_linear_basic_match stdout ----

thread 'tests::linear_api::test_linear_basic_match' (41508) panicked at src\tests\linear_api.rs:9:5:
assertion `left == right` failed
  left: ""
 right: "aa"

---- tests::linear_api::test_linear_captures stdout ----

thread 'tests::linear_api::test_linear_captures' (46124) panicked at src\tests\linear_api.rs:15:36:
called `Option::unwrap()` on a `None` value


failures:
    engine::linear::tests::tests::test_alternation
    engine::linear::tests::tests::test_anchors
    engine::linear::tests::tests::test_classes
    engine::linear::tests::tests::test_dot
    engine::linear::tests::tests::test_flags
    engine::linear::tests::tests::test_haystack_compatibility
    engine::linear::tests::tests::test_leftmost_longest
    engine::linear::tests::tests::test_literal
    engine::linear::tests::tests::test_quantifiers
    engine::linear::tests::tests::test_word_boundaries
    tests::linear_api::test_linear_basic_match
    tests::linear_api::test_linear_captures

test result: FAILED. 63 passed; 12 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

error: test failed, to rerun pass `--lib`